Я хотел бы знать, есть ли способ сообщить Android об установке приложений на карту micro SD по умолчанию вместо необходимости сначала загружать приложения во внутреннюю память, а затем вручную перемещать их на карту SD.
Благодарность
Я хотел бы знать, есть ли способ сообщить Android об установке приложений на карту micro SD по умолчанию вместо необходимости сначала загружать приложения во внутреннюю память, а затем вручную перемещать их на карту SD.
Благодарность
Ответы:
Эта статья на HowtoGeek описывает возможный способ использования adb :
adb shell pm setInstallLocation 2
adb shell pm set-install-location 2
)Эта команда установит цель установки устройств по умолчанию на вашу SDCard. Это не обязательно означает, что все будет установлено там: туда пойдут только приложения, поддерживающие это, и разработчики могут «отменить» это в своих приложениях, если они считают, что это необходимо. Из ссылки на API-интерфейс :
Изменяет место установки по умолчанию. Значения местоположения:
0
: Авто - пусть система выбирает наилучшее местоположение.1
: Internal - установить на внутреннюю память устройства.2
: Внешний - установить на внешний носитель.Примечание: это предназначено только для отладки; использование этого может привести к поломке приложений и другому нежелательному поведению.
Для получения более подробной информации об ADB и о том, как вы можете, например, получить его минимальную версию на свой компьютер (без излишней установки всего SDK), вы можете взглянуть на adb tag-wiki .
Обновление: во избежание путаницы с ответом t0mm13b, есть небольшой пробел в процессе установки:
/data/local
, то есть к вашей внутренней системе хранения данных . Вы не можете это изменить..apk
она будет установлена автоматически. Куда, зависит от нескольких вещей:
android:installLocation
свойство в своих приложениях Manifest
, приложение будет установлено во внутреннюю историю. Полная остановка, другого выбора нет (см. Справку по API ).android:installLocation
установлено preferExternal
и внешнее хранилище доступно, оно будет отправлено туда.auto
, это снова зависит:
Это не может быть изменено! Вот как работает Android.
Все загрузки из Google Play идут во внутреннюю файловую систему, а затем из:
Если кнопка « Переместить на SD-карту» отключена или неактивна, возможно, она не позволяет приложению функционировать, например, собственным виджетам на главном экране.
Кроме того, см. Этот ответ в соответствующей боковой панели справа от этой страницы. :)
android:installLocation="auto"
Не видел adb shell pm setInstallLocation 2
, предположительно вы указываете имя пакета в этом случае ...
Manifest
говорит «авто», это то, что он идет. Если Manifest
говорит что-то, кроме «авто», он идет туда, где Manifest
говорит. Смотрите также: API ref , также здесь для команды pm set-install-location
(новый синтаксис).
android:installLocation
- на самом деле включает функцию « Переместить на SDCard» в настройках приложения управления ... некоторые разработчики не указывают ее и делают кнопку отключенной, но я признаю - никогда не видел команду adb, чтобы сделать это
/data/local
, а оттуда приложение установлено. Но, в зависимости от настроек и манифеста, он устанавливается оттуда к внутреннему или напрямую к внешнему. // Если вы хотите обсудить это подробно: вы помните наш паб, хм, чат? :)
Установите «Эмулятор терминала для Android» на свой мобильный и откройте
$ su
# pm get-install-location
0[auto]
# pm set-install-location 2
# pm get-install-location
2[external]
Перейдите в «Управление приложениями», затем перейдите на вкладку «Все» и найдите «Google Play Store». Нажмите на него, а затем нажмите кнопку «Удалить обновления». После этого перейдите в Play Store, все приложения будут установлены на вашу SD-карту. Это то, что я сделал на своем QMobile A110 (Android 4.2).
Дело в том, что вы можете изменить каталог установки по умолчанию, если ваш телефон рутирован. Скачайте «Удачливый патчер» и нажмите на инструменты, где вы можете найти вариант, чтобы изменить директорию установки по умолчанию ** Не делайте этого для Android 4 или выше, иначе это может привести к необратимым изменениям. **