Вы также можете установить android:installLocation
и по-прежнему целевую версию Android 1.6.
В ваш AndroidManifest.xml
вы должны вставить мин версию SDK, подобную этой
<uses-sdk android:minSdkVersion="4" />
Это будетубедитесь, что ваше приложение работает только на Android 1.6 и выше.Это, конечно, вызовет ошибку компилятора в вашем проекте Eclipse.Это потому, что 1.6 SDK не знает о android:installLocation
.Чтобы это исправить, щелкните правой кнопкой мыши свой проект в пространстве проекта Eclipse (если вы используете Eclipse, не знаете, как он работает в других средах разработки или сборке Ant), затем перейдите к опции «Android» и выберите «Project».Build Target "to Android 2.2
.
Это удалит ошибку, показанную выше, и вы сможете скомпилировать / экспортировать файл APK.Таким образом, APK будет работать на Android 1.6-2.1 как обычно, а на Android 2.2 это позволит вам использовать SD-карту для установки / перемещения приложения.
Однако, предупреждающее слово: Это может быть источником несовместимости, если вы не будете осторожны.Таким образом, требуется расширенная фаза тестирования, потому что вы не заметите напрямую, если используете функцию 2.x, потому что Eclipse не будет отображать ее как ошибку, потому что она использует Android 2.2 SDK в качестве ссылки.
Таким образом, у вас в основном есть 2 варианта: 1. Выполнять действия, описанные выше, только при экспорте / подписи приложения (т. Е. Непосредственно перед публикацией этой новой версии), а затем установить его обратно или 2.Тщательно протестируйте свои Приложения на Устройстве 1.6 или Эмуляторе и посмотрите, не выходит ли он из строя в любой момент, потому что Приложение использует функцию, доступную только на более новых ОС, чем 1.6.
В зависимости от сложности вашего приложения, первоеодин из них, как правило, безопаснее, но рискует, что вы забыли это сделать один раз.Это может привести к тому, что для этого обновления у пользователя не будет возможности установить его на SD-карту.Проблема выбора 2 заключается в том, что если вы не все достаточно хорошо протестировали, ваше приложение может неожиданно вызвать ForceClose, когда устройства Android 1.6 пытаются вызвать функции / функции, доступные только в 2.x.