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?
Ответы
Ответ 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 бит.