Как включить перенос приложения на SD-карту (и поддержка андроида еще <2.2)?

Как я могу включить мое приложение для перемещения на SD-карту?

- присвоил название, чтобы вопрос был более уместным для ответов.

Ответы

Ответ 1

Вы должны установить запись android:installLocation в файле AndroidManifest.xml(preferExternal или auto).

NB! Для этой цели сборки должен быть API-уровень 8 (Android 2.2).

Ответ 2

Вы также можете установить android:installLocation и по-прежнему на Android 1.6.

В вашем AndroidManifest.xml вам нужно вставить минимальную SDK-версию, такую ​​как

    <uses-sdk android:minSdkVersion="4" />

Это позволит убедиться, что ваше приложение работает только на Android 1.6 и выше. Это, конечно же, вызовет ошибку компилятора в вашем проекте проекта Eclipse. Это потому, что 1.6 SDK не знает о android:installLocation. Чтобы исправить это, щелкните правой кнопкой мыши проект в пространстве проекта Eclipse (при условии, что вы используете Eclipse, не знаете, как он работает в других IDE или с помощью сборки Ant), затем перейдите к опции "Android" и выберите "Project Build Target" - Android 2.2.

Это приведет к удалению ошибки, показанной выше, и вы можете компилировать/экспортировать APK файл. Таким образом, APK будет работать на Android 1.6-2.1, как обычно, и на Android 2.2 он позволит вам использовать SD-карту для установки и перемещения приложения.

Однако Слово предупреждения: Это может быть источником несовместимости, если вы не будете осторожны. Поэтому требуется расширенная фаза тестирования, потому что вы не заметите сразу, если используете функцию 2.x, потому что Eclipse не укажет ее как ошибку, поскольку она использует SDK Android 2.2 в качестве ссылки.

Итак, у вас в основном есть 2 варианта: 1. Выполняйте описанные выше шаги при экспорте/подписании приложения (например, перед публикацией новой версии), а затем установите его обратно или 2. Активно протестируйте свои приложения на устройстве 1.6 или эмуляторе и посмотрите, сработает ли он в любой момент, потому что приложение использует функцию, доступную только на более новой ОС, чем 1.6.

В зависимости от сложности вашего приложения, первый, как правило, более безопасный, однако несет риск, что вы забыли сделать это один раз. Это привело бы к тому, что для этого обновления у пользователя не будет возможности установить его на SD-карту. У Choice 2 есть проблема, что если вы не будете тестировать все достаточно хорошо, приложение App внезапно может внезапно закроться, когда устройства Android 1.6 попытаются вызывать функции/функции, доступные только в 2.x.

Ответ 3

Пожалуйста, следуйте приведенной ниже процедуре для телефонов Android.

  • Скопируйте Android SDK в свою систему.
  • Подключите свой мобильный телефон к системе и включите опцию USB-отладки на своем мобильном телефоне.
  • Откройте строку cmd и перейдите к пути android sdk\platform-tools
  • Запустите команду adb shell pm setInstallLocation 2
  • Перейдите к настройкам на мобильном устройстве и проверьте, включена ли опция "Переместить на SD-карту" или нет.