Zheka’s blog
Sunday, February 16, 2014
Доступ к ресурсам Android приложения
Бывает так, что во время разработки, нужно заглянуть в приватные директории приложения. Как известно, доступ к ним закрыт, и при попытке, скажем, получить список файлов, имеем следующее:
Есть несколько решений данной проблемы.
Первое, что приходит на ум — получить root права. Недостатки очевидны. Ломать телефон из-за маленькой плюшки — варварство(да и телефон может быть не личный, а, например, корпоративный). Но имея root , получаем неограниченный доступ ко всем ресурсам системы.
run-as
В составе Android OS есть утилита run-as . По своей сути очень похожа на sudo — выполнение команд от имени приложения или говоря короче — делегирование прав:
Пара моментов которые нужно знать. Приложение должно быть собрано как debuggable и в нек. случаях нужно менять права на файлы/директории:
Из недостатков можно назвать лишь одно — нет возможности доступа к файлам приложений третьих лиц(установленных, например, с Play Market).
backup
Последний способ. Я его использовал до того, как познакомился с run-as . Android предоставляет возможность сделать копию приложения:
В текущей директории будет создан файл backup.dat ( [device id] можно узнать командой ‘adb devices’ ). Далее распаковываем *.dat файл:
Приведенная команда у меня работает только под Linux, под Mac OS я получаю сообщение об ошибке, мол openssl собран без поддержки zlib. Немного пошаманив, нашел решение, которое не требует пересборки openssl:
По сравнению с Linux вариантом, работет медленнее, но для меня не критично. После всех шагов, в текущей директории будет создана папка apps, содержащая все внутренности приложения.
До недавнего времени последний способ не имел недостатков. Т.е. была возможность получить доступ ко всем потрохам без каких-либо ограничений. Но начиная с версии Android 4.4 в AndroidMainifext.xml был добавлен флаг allowBackup:
Который гласит буквально следующее: если флаг установлен в значение false , то приложение никогда не будет иметь возможность сделать резервную копию или восстанновление из резервной копии, даже в случае резерного копирования всей системы(имеется ввиду средствами самой ОС). Поумолчанию флаг имеет значение true . Вот такие дела. Т.е. доспут к ресурсам своего приложения мы всегда будем иметь, а в остальном — как повезет.
Источник
Android run as unknown
Для функционирования программы необходимы права root пользователя (Для операций где необходим Root).
Краткое описание:
Управление Android средствами ADB.
Описание:
Цель данной программы которые я преследовал при ее создании:
1. Легкая установка — нет необходимости, объяснять где же находится корень диска С
2. Легкое управление ADB – в программу внесены многочисленные команды, а также присутствует возможность вводить команды самому если Вы уже много чего уже умеете.
3. Проверка обновлений — в программе реализована возможность чтобы пользователь в любой момент мог проверить если новая версия программы.
Установка
Программа имеет свой инсталлятор, процесс установки очень прост, 2-жды кликнуть по ярлыку.
Требования при работе
Установленные драйвера на компьютер от вашего Android устройства
Включенная отладка по USB на вашем Android устройстве.
Русский интерфейс: Нет
Разработчик: Шипилов Виталий aka Usernokiamen aka Shipiloff69
Домашняя страница: androidp1.ru
Версия: 4.5.4.3 ® Adb Run (Пост dianamavrik #76331152)
Версия: 4.5.4.2 Сообщение №719, автор dianamavrik
Версия: 4.4.4.2 Сообщение №712, автор dianamavrik
Версия: 4.4.3.1 ® Adb Run (Пост dianamavrik #71410663)
Версия: 4.0
Версия: 3.102.97
Версия: 3.101.97
Версия: 3.101.96
Версия: 3.100.95
Версия: 3.100.94
Версия: 3.99.92
Версия: 3.99.91
Версия: 3.99.90
Версия: 3.99.89
Версия: 3.99.88
Версия: 3.98.88
Версия: 3.97.86
Версия: 3.97.84
Версия: 3.95.81
Версия: 3.92.80
Версия: 3.91.79
Версия: 3.90.79
Версия: 3.88.78
Версия: 3.85.77
Версия: 3.84.73
Версия: 3.80.70
Версия: 3.79.69 Fix
Версия: 3.79.69
Версия: 3.78.67
Версия: 3.78.66
Версия: 3.78.65
Версия: 3.74.64
Версия: 3.74.63
Версия: 3.67.61
Версия: 3.66.61
Версия: 3.65.53
Версия: 3.61.51
Версия: 3.54.50
Версия: 3.49.48
Версия: 3.48.48
Версия: 3.45.48
Версия: 3.45.46
Версия: 3.45.43
Версия: 3.35.42
Версия: 3.35.39
Версия: 3.27.38
Версия: 3.27.37
Версия: 3.27.36
Версия: 3.26.35
Версия: 3.24.35
Версия: 3.22.35
Версия: 3.21.25
Версия: 3.20.34
Версия: 3.18.34
Версия: 3.17.34
Версия: 3.16.31
Версия: 3.15.30
Версия: 3.15.27
Сообщение отредактировал iMiKED — 04.10.20, 11:36
Источник