У меня есть Moto G (2-го поколения) с Android 5.02 на нем. Внутренняя SD-карта составляет около 8 ГБ, и у меня есть внешняя SD-карта с 16 ГБ свободного места.
Перемещение приложения на SDCARD из меню приложения перемещает его на sdcard0, которая является внутренней SD-картой.
Команда оболочки Adb:
pm get-install-location
дает мне:
0[auto]
Я попытался установить место установки через:
pm set-install-location 2
Но я получаю эту ошибку:
Error: java.lang.SecurityException: Package android does not belong to 2000
То есть я считаю, что жалуюсь на root-права.
И потому что это сборка производства, пытающаяся:
adb root
дает мне:
adbd cannot run as root in production builds
Есть ли способ установить приложения, устанавливающие свои данные на внешнюю SD-карту?
PS: я не хочу устанавливать пользовательский диск или устанавливать стороннее программное обеспечение для рутинга телефона.
Редактировать:
я заметил, что данные приложений были сохранены в папке /storage/sdcard0/Android
, поэтому я подумал о том, чтобы переместить эту папку /storage/sdcard1/
и создать символическую ссылку таким образом:
ln -s /storage/sdcard1/Android /storage/sdcard0/Android
это сделает работу?
Спасибо.
/sdcard/sdcard0/Android
. Приложения хранятся в скрытой папке, которая называется.android_secure
там, где к ней дажеroot
нет доступа (я тестировал ее на своем устройстве, вы даже не можете открытьcd
эту папку).sdcard_rw
входят вroot
группу или вообще не принадлежат пользователюsdcard_rw
. Но с небольшими изменениями разрешений вы сможете разобраться с этим.ls -l /storage/sdcard0
дал мне это,lrwxrwxrwx root root 2015-04-20 15:59 sdcard0 -> /storage/emulated/legacy
и бегls -l /storage/sdcard0/
дал мне этоdrwxrwx--x root sdcard_r 2014-12-20 18:16 Android
.. Это хорошая или плохая новость? Так как я не root, я считаю, что не могу установить разрешения.В принципе, вы можете! ;)
После перезагрузки КАЖДОЕ приложение, которое вы устанавливаете, автоматически перейдет на SD-карту.
Если вы не знаете, как создать раздел для поиска руководства в Google, их много.
источник
Это было настоящее путешествие в поисках ответа, не связанного с рутированием, но я в итоге:
Разблокировка моего загрузчика
Загрузка по TWRP без его установки:
Установка SuperSU Chainfire с помощью TWRP.
С помощью эмулятора терминала или ADB оболочки «S:
Из меню приложения
Settings > Applications
простым нажатиемMove to SDCARD
перемещает его * - его данные и obb - на внешнюю SDCARD.Удаление SuperSU ......
Нет ... я этого не делал! 3 :)
источник
Перейдите по этому адресу http://developer.android.com/tools/help/shell.html#shellcommands
Android 5 и выше не поддерживает это
pm get-install-location
Попробуйте сделать резервную копию вашего apk и следуйте инструкциям ниже
пример
-r означает переустановить apk с существующими данными и -s означает sdcard
источник
-s
для указания, на каком устройстве должен работать adb ("-s <serialNumber>
").Сначала установите Adbd небезопасно ( скачать apk от xda-developers ).
После установки на устройстве откройте его и отметьте поле «Включить небезопасный adbd».
Теперь вы можете изменить местоположение для установки ваших приложений.
источник