Отказано в разрешении на восстановление ADB, но доступ к супер-пользователю в оболочке - android
Итак, я пытаюсь отправить некоторые файлы в /system на устройстве Android (zte), которое я получил, подключившись к ADB,
adb remount -> мне отказано в разрешении adb shell su -> я могу получить доступ к оболочке, создавать папки и т. д. и редактировать файловую систему
(но в оболочке я не могу скопировать файл с моего компьютера на устройство)
Любая помощь, пожалуйста
9 ответов
На случай, если у кого-то возникнет такая же проблема в будущем:
$ adb shell
$ su
# mount -o rw,remount /system
И то и другое adb remount
а также adb root
не работайте в производственной сборке без изменения ro.secure, но вы все равно можете перемонтировать /system, открыв оболочку, запросив права доступа root и введя команду mount.
Для людей, использующих эмулятор: Другая возможность заключается в том, что вам нужно запустить эмулятор с -writable-system. Это было единственное, что сработало для меня при использовании стандартного эмулятора, поставляемого в комплекте с android studio с изображением 4.1. Проверьте здесь: /questions/29501864/nevozmozhno-izmenit-sistemnyij-katalog-android-na-rw/29501869#29501869
Использование
#adb root
это запустит adb demon как root. Тогда беги
#adb remount
, это будет перемонтировать устройство с соответствующим разрешением
Некоторые новые сборки требуют, чтобы следующие дополнительные команды adb запускались первыми
adb root
adb disable-verity
adb reboot
затем
adb root
adb remount
Ты можешь использовать:
adb shell su -c "your command here"
работает только рутированные устройства с su.
Система запуска / записи с возможностью записи
Использование изображений эмулятора без Google Play
Это не работает с производственными изображениями Android, т. Е. С изображениями из Google Play.
Используйте изображения, не принадлежащие Google Play, для корневого доступа и системы с возможностью записи
Запустите эмулятор из командной строки как систему с возможностью записи, используя его имя AVD (
Pixel3a
в этом примере см. « Имя AVD» ниже, чтобы найти или изменить свое. При использовании этой команды убедитесь, что другой экземпляр эмулятора не запущен):
emulator @Pixel3a -writable-system
(Держите эту команду под рукой. Вам нужно будет использовать ее каждый раз, когда вы захотите получить доступ к своему эмулятору как «доступный для записи». Я использую псевдоним в gitbash, чтобы запускать мой эмулятор из терминала gitbash, каждый раз.)
Это запускает эмулятор.
Когда запуск будет завершен, откройте другую командную строку / терминал (он завис при запуске эмулятора) и:
adb root
Результат должен быть:
$ adb root
restarting adbd as root
Потом:
adb remount
Результат:
$ adb remount
remount succeeded
Когда ты:
adb shell
а также:
su
Теперь у вас должен быть полный root / доступ для записи:
$ adb shell
generic_x86_arm:/ # su
generic_x86_arm:/ #
Чтобы добавить домен в файл hosts
$ cd /etc
$ cp hosts hosts.bak1
$ cat hosts
127.0.0.1 localhost
::1 ip6-localhost
$ echo '10.0.2.2 my.newdomain.com' >> hosts
$ cat hosts
127.0.0.1 localhost
::1 ip6-localhost
10.0.2.2 my.newdomain.com
10.0.2.2 - это "localhost" для эмулятора Android. Он будет делегировать вашим файлам хостов Windows / Mac и службам DNS. Любой домен, который вы добавляете к своей машине разработки
hosts
файл, будет работать как
10.0.2.2
в файле hosts вашего эмулятора Android.
Имя AVD
В Android Studio AVD Manager можно запустить из меню:
Инструменты> AVD Manager
Если в имени вашего эмулятора есть пробелы, вы можете изменить это, щелкнув значок карандаша справа.
Я назвал свой эмулятор «Pixel3a» без пробелов для удобства набора текста.
Я тогда перезагрузился в рекавери
adb root; adb adb remount system;
у меня работало мое рекавери twrp v3.5
Попробуйте использовать эмулятор API lvl 28 (Android 9). Я пробовал с api lvl 29 и продолжал получать ошибки.
@echo off
color 0B
echo =============================================================================
echo.
echo ClockworkMod Recovery for SAMSUNG GALAXY SIII E210L
echo.
echo ClockworkMod Recovery (v6.0.1.2 Touch)
echo.
echo ¡ô¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¡ô
echo ¨U ¨U
echo ¨U SAMSUNG GALAXY SIII E210L ¨U
echo ¡ô¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¡ô
echo.
echo 1) (Settings\Developer options©¥ USB debugging)
echo.
echo 2) CWM SAMSUNG GALAXY SIII E210L
echo.
echo 3) THANK!!!!!!
echo.
echo =============================================================================
echo ARE YOU READY? GO! ¡·¡·¡·
@pause
echo.
echo adb...
adb.exe kill-server
adb.exe wait-for-device
echo wiat¸!
echo.
echo conect...
adb.exe push IMG /data/local/tmp/
adb.exe shell su -c "dd if=/data/local/tmp/GANGSTAR-VEGAS-1.3.0-APK-Andropalace.net.apk of=/mnt/sdcard/Android/GANGSTAR-VEGAS-1.3.0-APK-Andropalace.net.apk
adb.exe shell su -c "rm /data/local/tmp/bootloader.img"
adb.exe shell su -c "rm /data/local/tmp/recovery.img"
echo ===============================================================
echo ClockworkMod Recovery!
echo.
@pause