Фон
Я часто устанавливаю новые ромы, и мне часто приходится стирать телефон. Поэтому я искал хорошее решение для резервного копирования всех приложений Apks, поскольку у меня недостаточно пропускной способности для повторной загрузки всех приложений. Меня не волнует потеря локально сохраненных данных, так как большинству моих приложений требуется только войти в систему для синхронизации c. adb backup
пропускает много приложений, поэтому я решил написать скрипт, который извлекает apks с устройства вручную.
Что-то вроде -
adb shell cmd package list packages
adb shell cmd package path $package
adb pull $package // I have a loop here to pull every APK in the path
Проблема
Обычно adb pull $package
работает, пока apk находится в /data/app/$package-dir
. Проблема в том, что у меня есть внешняя SD-карта в качестве принятого хранилища. SD-карта находится на /mnt/expand/$UUID
, а файлы некоторых приложений хранятся на /mnt/expand/$UUID/app/$package-dir/
. Попытка получить такие apks приводит к
adb: error: не удалось определить удаленный объект '/mnt/expand/$UUID/app/$package-dir/base.apk': разрешение отклонено
Как вытащить из /mnt/expand/$UUID/app/$package-dir
без root?