Подтвердить что ты не робот

Run-as: не удалось установить возможности: операция не разрешена

on android 6.0.1 Я получаю эту ошибку при попытке использовать run-as.

⋊> ~ adb shell                                                          14:29:01
[email protected]:/ $ run-as org.ligi.passandroid                                    
run-as: Could not set capabilities: Operation not permitted

Мне очень нравится команда run-as - есть ли способ заставить ее работать с 6.0.1?

4b9b3361

Ответ 1

Если у вас есть устройство SAMSUNG, не беспокойтесь - SAMSUNG прервал run-as, сбросив флаг setuid (так что при run-as не может переключиться на другую личность).

Также не пытайтесь попробовать обходной путь Smart Switch "переинициализировать устройство", он не будет работать, пока SAMSUNG не исправит его в прошивке (поэтому стоит обновить его до последней версии).

Для доступа к данным приложения используйте другой метод, например, adb backup:

adb backup -f data.ab <my.package>
dd if=data.ab  bs=24 skip=1 | openssl zlib -d > data.tar

Вместо dd вы можете использовать инструмент abe, который также может записывать файлы .ab.

Ответ 2

Решением для меня был параметр -autolaunch в конфигурации Debugger проекта в поле Параметры.

Я использую Delphi 10.2 с S7 Edge Android 7

Ответ 3

В отличие от другого ответа здесь я также пытался использовать интеллектуальный коммутатор и жесткий диск, но, к сожалению, этот подход не работал у меня (потратил лишний час, чтобы попробовать этот подход). Кроме того, что это не работает, это может создать дополнительную проблему "samsung account: session expired" - проблема, которая может быть исправлена, только если у вас есть права доступа к вашему устройству.

Я сам использовал инструкции отсюда: https://www.youtube.com/watch?v=Sy4FWLHxGYs

а затем отсюда: https://www.tomsguide.com/us/samsung-galaxy-s6-guide,review-2856-3.html

для получения доступа root к вашему устройству, а после этого запуска - как можно выполнить с помощью дополнительной команды "su -c", как для пользователя root. Вся команда будет выглядеть так:

su -c run-as org.ligi.passandroid

ПРЕДУПРЕЖДЕНИЕ. Получение доступа root к вашему устройству скорее всего приведет к аннулированию гарантии вашего устройства, если у вас есть все.

Кроме того, я хотел уметь отлаживать свое приложение внутри Samsung Galaxy S6, поэтому я изменил компоненты Visual Studio, здесь можно найти дополнительные инструкции:

https://issuetracker.google.com/issues/37093233#comment53

Если у вас есть устройство Android на базе Android, я уже сообщал об этой ошибке для Samsung, но я не мог получить график времени, если и когда они вообще исправят эту проблему. Если у вас есть другое устройство Android - имеет смысл сообщить об этой проблеме производителю.

Ответ 4

Ответ на

@RustyX помог мне частично. zlib не работал на моем Mac. Поэтому мне пришлось использовать Android Backup Extractor для преобразования файла .ab в файл .tar. Вы можете скачать его здесь.

Для полной пошаговой инструкции см. здесь.

Ответ 5

В Visual Studio свойства приложения, параметры Android, изменение отладчика с C++ на .Net(Xamarin), по-видимому, устранили проблему для смешанного приложения C++/С#.

Ответ 6

Я ранее размещал здесь ответ, который был удален, возможно, потому, что это была ссылка на другой вопрос stackoverflow, ссылающийся на ответ, который я дал там, вместо того, чтобы содержать полный ответ.

Отменив его содержимое здесь fooobar.com/questions/101172/...:

У меня была очень похожая проблема на Samsung Galaxy S6 Edge, пытаясь начать отладку на VS2015, у меня есть другая ошибка, гораздо меньше подробностей, чем на прилагаемом скриншоте:

run-as: не удалось установить возможности: операция не разрешена

Основываясь на содержании прилагаемого скриншота выше, я попытался "инициализировать" /factory сброс устройства с помощью Samsung Smart Switch и он фактически исправил проблему "run-as", которую я имел.

Это единственное решение, которое работало и не включало в себя укоренение устройства, поэтому я считаю, что он должен быть общедоступным. Конечно, люди, пытающиеся это сделать, должны иметь в виду, что factory reset означает, что данные будут потеряны, если только они не будут поддерживаться. Это же программное обеспечение Samsung помогает с резервными копиями ваших данных.

Ответ 7

Я работал с Delphi 10.1 berlin. Мне представили ту же проблему, и я решил настроить SDK на предыдущую версию. Я использовал Android SDK 25.2.5.32bit и был понижен до Android SDK 24.3.3 32 bit. Для настройки:

Tools-> Параметры среды → SDK Manager

Затем добавьте необходимый SDK, в данном случае Android SDK 24.3.3 32 бит.