Я подключился к своему живому устройству с помощью adb и следующих команд:
C:\>adb -s HT829GZ52000 shell
$ ls
ls
sqlite_stmt_journals
cache
sdcard
etc
system
sys
sbin
proc
logo.rle
init.trout.rc
init.rc
init.goldfish.rc
init
default.prop
data
root
dev
$ cd data
cd data
$ ls
ls
opendir failed, Permission denied
Я был удивлен, увидев, что мне отказано в доступе. Почему я не могу просматривать каталоги с помощью командной строки, как это?
Как получить root-доступ на моем телефоне?
Ответы:
Есть две вещи, которые нужно запомнить, если вы хотите просмотреть все на вашем устройстве.
adb root
источник
Начиная с уровня API 8 (Android 2.2), для отлаживаемого приложения (созданного Android Studio все время, пока не была запрошена сборка релиза), вы можете использовать команду оболочки
run-as
для запуска команды или исполняемого файла в качестве конкретного пользователя / приложения. или просто переключитесь на UID вашего приложения, чтобы вы могли получить доступ к его каталогу данных .Список содержимого каталога yourapp:
Переключитесь на UID com.yourapp и выполните все дальнейшие команды, используя этот uid (до тех пор, пока вы не позвоните
exit
):Примечание 1 : существует известная проблема с некоторыми телефонами HTC Desire. Из-за нестандартного владельца / прав доступа к
/data/data
каталогуrun-as
команда не запускается на этих телефонах.Примечание 2 : Как указано в комментариях @Avio:
run-as
есть проблемы и с телефонами Samsung Galaxy S, на которых работает Cyanogenmod любой версии (от 7 до 10.1), поскольку на этой платформе/data/data
есть символическая ссылка на/datadata
. Одним из способов решения этой проблемы является замена символической ссылки на действительный каталог (к сожалению, для этого обычно требуется доступ с правами root).источник
run-as com.mypackage
. Проблема, с которой я столкнулся, заключается в следующемsqlite3 /data/data/com.mypackage/databases/mydb
: «sqlite3: разрешение отклонено». Можно ли запустить sqlite3 только от имени пользователя root?прежде чем мы начнем, у вас есть рутированный телефон? если нет, я настоятельно рекомендую вам сделать прыжок. 99% учебных пособий, которые помогут вам сделать это, требуют, чтобы у вас был рутированный телефон (я знаю, что я потратил около часа на поиск способа сделать это без рутированного телефона .. не смог найти ни одного .. ) также, если вы думаете об этом, ваш iPhone также должен быть рутован для выполнения этой же задачи. Так что это совершенно разумно. Подробнее о рутировании в конце ответа.
из вашей командной строки введите:
это приведет вас к вашей командной строке android shell (вы должны увидеть что-то вроде этого:
shell@android:/ $
now type:это должно привести вас непосредственно к каталогу данных
com.domain.yourapp
:если это не так (то есть, если вы получаете сообщение об ошибке), то у вас, вероятно, нет рутированного телефона, или вы не использовали свои привилегии пользователя root. Чтобы использовать свои привилегии пользователя root, введите
su
в командной строке adb и посмотрите, что произойдет, если вы получите ошибку, значит ваш телефон не рутирован. Если это не так, сначала выполните root, затем продолжите эти инструкции.оттуда вы можете напечатать,
ls
и вы увидите все каталоги, включая dbs:после этого вы можете использовать sqlite3 для просмотра базы данных .. если у вас не установлено (вы можете узнать это, набрав
sqlite3
, если получите,command not found
вам придется установить его. Чтобы установить sqlite, следуйте инструкциям здесь .о рутировании: если вы никогда не рутировали свой телефон раньше, и вы беспокоитесь о том, что это может испортить ваш телефон, я могу с полной уверенностью сказать, что вам не о чем беспокоиться. Существуют тонны быстрых и простых руководств по рутингу телефона для практически всех новых и старых моделей, и вы можете получить root права на свой телефон, даже если у вас есть Mac (мой root s3 установлен на моем mac).
источник
run-as
работы. Я только что попробовал это на производственной Галактике Nexus S.build the application as debuggable (either by building it with the Eclipse, or ant debug command)
могут показаться вам банальными, но они меня пугают. Я думаю, что мой ответ больше для людей, которые чувствуют себя комфортно с рутированием своих телефонов Android, но не очень хорошо разбираются в мире разработчиков Android. Но я рад, что у нас это обсуждение. Я хочу, чтобы читатели моего ответа знали о других альтернативах без$ adb shell
$ cd / data
$ ls
opendir не удалось, разрешение отклонено
Вы должны сделать это:
ХОРОШО!
источник
У меня была похожая проблема при попытке работать на рутированном Samsung Galaxy S. Выдача команды из компьютерной оболочки
выдает сообщение «не может работать от имени пользователя root в производственных сборках». Вот простой метод, который позволяет стать пользователем root.
Вместо предыдущего выполните следующие две команды одну за другой
Если после первой команды приглашение изменилось с «>» на «$», как показано выше, это означает, что вы вошли в среду оболочки adb. Если впоследствии после выполнения второй команды приглашение изменилось на «#», это означает, что вы теперь являетесь пользователем root. Теперь, будучи пользователем root, вы можете делать с устройством все, что захотите.
Чтобы вернуться к «безопасной» оболочке, выполните команду
Вы увидите, что снова появляется приглашение «$», что означает, что вы находитесь в оболочке adb как пользователь, а не как пользователь root.
источник
adb shell + su
решаемая надоедливая вещь разрешения навсегда. У меня была проблемаsu: not found
с Android 4.3, но после обновления до 4.4.2 проблема исчезла. 4.3, похоже, есть проблемы.У меня было много проблем с этим тоже. Я до сих пор не до конца понимаю разрешение и запуск root, но у меня это сработало (частично один из предыдущих ответов), чтобы скопировать файл базы данных из / data / data / [имя пакета] /databases/my_db.db. Запуск root или su в shell по какой-то причине не сработал, не скопировал файл db (хотя я мог перейти в каталог) и sqlite3. .
Итак, это сработало! В командной строке DOS:
Теперь перейдите в каталог SDCARD и получите ваш файл db_copy.db. Даже это было скрыто, но мне удалось написать по электронной почте. Вернувшись в Windows, я смог открыть файл базы данных с помощью браузера баз данных SQLite. :)
источник
Ниже приведены два шага для получения root-доступа:
источник
производственные сборки не могут быть введены / данные / приложение
возможно, потребуется изменить правообладателя, чтобы управлять им.
источник
Проблема может заключаться в том, что нам нужно специально предоставить root права доступа adb в опциях developmentnent в последних моделях CM. Вот что я сделал.
после изменения вариантов развития ...
источник
если вы знаете пакет приложения, вы можете
cd
прямо в эту папку ..например
cd data/data/com.yourapp
это приведет вас в каталог, в котором
read/writable
вы сможете изменять файлы по мере необходимости. Поскольку папка одинакова наemulator
, вы можете использовать ее для получения пути к папке.источник
Если вы просто хотите увидеть свою базу данных и таблицы, то самый простой способ - это использовать
Stetho
. Довольно крутой инструмент для каждого разработчика Android, который используетSQLite
Buit byFacobook developed
.Steps to use the tool
Теперь создайте свое приложение. Когда приложение будет запущено, вы можете просмотреть базу данных приложения, открыв chrome в URL:
Скриншоты того же, что и ниже_
Надеюсь, это поможет всем! :)
источник
Это работает, если ваше Android-устройство рутировано каким-либо образом (не уверен, что оно работает для нерутированных).
adb shell
- получить доступ к оболочкеsu
- стать суперпользователем.Теперь вы можете читать все файлы во всех каталогах.
источник
без рутирования устройства вы можете получить доступ к файлам с помощью следующего снимка экрана cmd:
запустить ADB с помощью cmd из папки platform-tools в соответствии с вашим пользователем
он может находиться в другой папке, в зависимости от того, где вы его установили.
отображать рабочие устройства.
скажем, ответ на команду
написать команду
он откроется в
4. Доступ к файлам, список всех файлов
и так далее, изменив каталог в любое другое место, например, в папку данных
источник
su
) не работает / не разрешено. Тестирование с Android 4.3.Когда вы находитесь в каталоге оболочки для устройства. Просто беги
Тогда вы сможете получить доступ к данным / папке.
источник