Mam Moto G (2. generacji) z Androidem 5.02. Wewnętrzna karta SD ma około 8 Gb, a ja mam zewnętrzną kartę SD z 16 GB wolnego miejsca.
Przeniesienie aplikacji na SDCARD z menu aplikacji przenosi ją do sdcard0, czyli wewnętrznej karty SD.
Polecenie powłoki Adb:
pm get-install-location
daje mi:
0[auto]
Próbowałem ustawić lokalizację instalacji poprzez:
pm set-install-location 2
Ale otrzymuję ten błąd:
Error: java.lang.SecurityException: Package android does not belong to 2000
Uważam, że narzekam na uprawnienia roota.
A ponieważ jest to wersja produkcyjna próbująca:
adb root
daje mi:
adbd cannot run as root in production builds
Czy jest jakiś sposób, aby aplikacje instalowały swoje dane na zewnętrznej karcie SD?
PS: Nie chcę instalować niestandardowej pamięci ROM ani instalować oprogramowania innej firmy, aby zrootować telefon.
Edycja:
Zauważyłem, że dane aplikacji były przechowywane w folderze /storage/sdcard0/Android
, więc pomyślałem o przeniesieniu tego folderu /storage/sdcard1/
i utworzeniu w ten sposób dowiązania symbolicznego:
ln -s /storage/sdcard1/Android /storage/sdcard0/Android
czy to zadziała?
Dziękuję Ci.
źródło
/sdcard/sdcard0/Android
. Aplikacje są przechowywane w ukrytym folderze o nazwie, do.android_secure
którego nawet nieroot
ma dostępu (przetestowałem to na moim urządzeniu, nie można nawetcd
do tego folderu).sdcard_rw
należą doroot
grupy lub w ogóle nie obsługują użytkownikasdcard_rw
. Ale przy odrobinie zmian uprawnień powinieneś być w stanie to rozwiązać.ls -l /storage/sdcard0
dał mi to,lrwxrwxrwx root root 2015-04-20 15:59 sdcard0 -> /storage/emulated/legacy
a biegls -l /storage/sdcard0/
dał mi todrwxrwx--x root sdcard_r 2014-12-20 18:16 Android
. Czy to dobra czy zła wiadomość? Ponieważ nie jestem rootem, uważam, że nie mogę ustawić uprawnień.Zasadniczo możesz! ;)
Po ponownym uruchomieniu KAŻDA zainstalowana aplikacja automatycznie przejdzie na kartę SD.
Jeśli nie wiesz, jak utworzyć wyszukiwanie partycji dla przewodnika w Google, jest ich wiele
źródło
To była dość podróż w poszukiwaniu odpowiedzi nie wymagającej rootowania, ale skończyłem:
Odblokowanie mojego bootloadera
Uruchamianie na TWRP bez instalacji:
Instalowanie SuperSU Chainfire z TWRP.
Z emulatora terminala lub powłoki adb :
Z menu aplikacji po
Settings > Applications
prostu pchanieMove to SDCARD
przenosi * - dane i obb - na zewnętrzną kartę SD.Usuwanie SuperSU ......
Nie ... nie zrobiłem tego! 3 :)
źródło
Przejdź do tego adresu http://developer.android.com/tools/help/shell.html#shellcommands
Android 5 i nowsze wersje tego nie obsługują
pm get-install-location
Spróbuj wykonać kopię zapasową apk i postępuj zgodnie z instrukcjami poniżej
Przykład
-r oznacza ponowną instalację apk z istniejącymi danymi, a -s oznacza sdcard
źródło
-s
służy do określenia, na którym urządzeniu adb powinien działać („-s <serialNumber>
”).Najpierw zainstaluj Adbd niezabezpieczone ( pobieranie apk od XDA-Developers ).
Po zainstalowaniu na urządzeniu otwórz je i zaznacz pole: „Włącz niepewne adbd”.
Teraz możesz zmienić lokalizację, aby zainstalować aplikacje.
źródło