Ответ 1
Вы должны установить запись android:installLocation
в файле AndroidManifest.xml(preferExternal
или auto
).
NB! Для этой цели сборки должен быть API-уровень 8 (Android 2.2).
Как я могу включить мое приложение для перемещения на SD-карту?
- присвоил название, чтобы вопрос был более уместным для ответов.
Вы должны установить запись android:installLocation
в файле AndroidManifest.xml(preferExternal
или auto
).
NB! Для этой цели сборки должен быть API-уровень 8 (Android 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.
Пожалуйста, следуйте приведенной ниже процедуре для телефонов Android.
android sdk\platform-tools
adb shell pm setInstallLocation 2
В этом руководстве содержатся четкие инструкции по переносу приложения на SD-карту.
http://mobile.tutsplus.com/tutorials/android/move-to-sd-card/
Также он имеет указатель на то, когда использовать функцию SD-карты http://developer.android.com/guide/topics/data/install-location.html#ShouldNot