Приложения в Android устанавливаются на внутреннюю память устройства, но вы можете так-же указать SD-карту местом для установки приложений по-умолчанию. Этот трюк позволит вам без права root устанавливать большинство приложений сразу на SD-карту.
Для этого трюка необходим Android версии 2.2 или выше. Для изменения в Android места установки приложений по-умолчанию вам понадобится утилита ADB (Android Debug Bridge) из комплекта Android SDK.
Включите отладку по USB
Для начала необходимо включить режим отладки устройства по USB. Для этого переходим во вкладку «Applications» и далее во вкладку «Development».
Поставьте галочку на USB Debugging для включения этого режима. Это позволит включить режим отладки вашего Android устройства, посылая ему команды, которые в обычном режиме системой не выполняются.
Установим Android SDK
Установку Android SDK мы уже рассматривали ранее в статье о настройку ADB, но все же опишем процедуру в двух словах.
Вам необходимо скачать Android SDK по ссылке и установить его на ваш компьютер. Если у вас еще не установлена Oracle Java JDK, то как раз самое время это сделать.
После установки JDK и Android SDK запустите из меню пуск приложение SDK Manager
ADB не устанавливается с Android SDK по-умолчанию, для ее установки необходимо поставить галочку напротив Android SDK Platform-tools в SDK Manager.
После завершения процедуры установки пакета соедините ваше Android-устройство с компьютером с помощью USB-кабеля. Windows установит драйверы самостоятельно, либо вам необходимо будет скачать их с сайта производителя.
Используем ADB
Перейдем в папку android-sdkplatform-tools. По-умолчанию эта папка будет располагаться по адресу
Кликните правой клавишей мыши в папке с ADB с зажатой клавишей SHIFT и запустите командную строку в этом месте.
Выполните команду
для проверки соединения с вашим Android-устройством
Теперь выполните следующую команду для изменения пути установки приложений на SD-карту
Если вы захотите отказаться от установки приложений на SD-карту, то выполните команду
Цифра в конце определяет место для установки приложений по-умолчанию. Тут 0 — внутренняя память устройства, а 2 — SD-карта.
Перемещаем приложения на SD-карту
Теперь уже давно установленные Android приложения можно перенести на SD-карту, даже те, которые ранее на SD-карту и не переносились. Например на скриншоте видно, что ранее радио-приложение переноситься не хотело (кнопка серая), а теперь опция переноса доступна.
Перемещение уже установленных приложений на SD-карту можно с помощью стандартных опций в меню приложение. Однако помните, что некоторые приложения нельзя перенести на SD-карту, по причине их особенного функционала. К примеру — виджеты, лаунчеры и т.п., т.к. при соединении по USB SD-карта становится недоступной для системы Android.
Я очень рад за Вас, что Вы знаете английский язык, но я его не знаю, и поэтому Ваша статья пустой звук. У меня на смартфоне везде русский язык.
Ну, в статье описано использование ADB (Android Debug Bridge) из Android SDK, а она, как и 99% консольных утилит на английском языке. Установленные же приложения переносятся на SD-карту из настройки — приложения — кликаете на приложение — «Перенести на SD-карту».
Ошибка
Правильно
adb shell pm set-install-location 2
Спасибо, внес исправления
подскажите, чяднт
>adb -s 4d00 shell pm set-install-location 2
Error: java.lang.SecurityException: Package android does not belong to 2000
а с root пишет
>adb -s 4d00 root shell pm set-install-location 2
adbd cannot run as root in production builds
sgs4 5.0.1 официал. спасибо
Попробуйте извлечь карту из устройства и вставить ее в кардридер устройства. Проведите проверку флешки и повторите процедуру. Ваша проблема может быть связанна с небезопасным извлечение карты из устройства и пометкой ее, как с потенциально поврежденной файловой системой.
Отныне: adb shell pm setInstallLocation 2
Отличная статья, спасибо, на XPERIA Ray всё получилось.
Добрый день!
Девайс определяется но при указании локации карты sd пишет:
» Error: java.lang.SecurityException: Package android does not belong to 2000″
делал глубокий формат — не помогло
пробовал другую карту — не помогло
При команде показа текущей локации сохранения пишет :
«no install location specified»
Подскажите пожалуйста какие нибудь варианты решения!
Заранее спасибо!
Попробуйте указать команду, которую написал наш читатель:
adb shell pm setInstallLocation 2
решать так:
включаем режим разраба, в нем находим строку «режим суперпользователя» и тыкаем вкл для ADB
Пользуйтесь)
А с рут правами это получится?
Такая же проблема возникает:
Package android does not belong to 2000
В общем промучился с данной проблемой.
Поискал инфу на Яндексе по запросу «Package android does not belong to 2000»
Сделал вывод, что данный хак работает только на старых версиях Андройд. По всей видимости разработчики заблокировали данную команду, если у тебя нет root-прав.
при клике на папку adb всплывающее окно командной строки появляется и тут же изчезает
Спасибо огромное все работает.
А как быть, если командная строка появляется на секунду и пропадает?(
Нужно сначала запустить командную строку (cmd.exe), а потом запускать в ней исполняемые файлы. Закрывается сразу потому, что программа выполняется и закрывается, а ее вывод закрывается с ней же.
для тех у кого 5.х андроид:
1. устанавливаем программы с маркета: supersu и terminal emulator
2. запускаем терминал вводим su в это время суперсу программа запрашивает доступ для эмулятора, разрешаем.
3. пишем pm set-install-location 2
Всем успехов