В течение последних нескольких месяцев я разрабатывал приложение для Android против Cupcake (Android 1.5, API Lvl 3), и все работает довольно хорошо (в общем, это довольно простое приложение).
Однако недавно я заметил, что мне бы хотелось сделать две вещи:
Оба эти изменения действительно просты - пара строк в AndroidManifest.xml
Решения, которые я нашел, следующие:
<uses-sdk android:minSdkVersion="4"/>
http://developer.android.com/guide/topics/manifest/uses-sdk-element.htmlmanifest
): android:installLocation="auto"
http://developer.android.com/guide/topics/manifest/manifest-element.htmlОднако для решения # 1 требуется API Lvl 4 (Android 1.6), а для решения # 2 требуется API Lvl 8 (Android 2.2)!
Так значит ли это, что, если я хочу, чтобы как # 1, так и # 2, как указано выше, мое приложение будет совместимо только с Android 2. 2+?
Или есть способ иметь несколько файлов AndroidManifest.xml для одного проекта? (Я знаю, что фактический код для приложения работает для Android 1.5 и кажется пустым, чтобы исключить их просто для нескольких дополнительных строк в файле манифеста)
Спасибо!
Добавление android:installLocation="auto"
не будет отрицательно влиять на обратную совместимость - это будет просто проигнорировано более старыми версиями Android.
Настройка <uses-sdk android:minSdkVersion="4"/>
предотвратит установку или показ приложения на рынке на устройствах Android 1.5. В этом вся цель.
Если вам нужен другой набор разрешений для разных версий SDK, вам, к сожалению, понадобится два отдельных проекта и два отдельных списка на рынке. Вы можете запретить отображение версии вашего приложения для кексов для новых устройств, добавив android:maxSdkVersion="3"
в тег <uses-sdk>
.
Относительно перемещения вашего приложения на SD-карту. Это было не раньше. Когда был введен андроид 1.5, такого типа понятия не было. Это более новая концепция для android 1.5
Я не думаю, что вы можете предоставить эту функцию для Android 2.5
Спасибо Дипак
Используйте переименование пакета Android, чтобы иметь два разных пакета, то есть одно и то же приложение с различными файлами AndroidManifest.xml в одном проекте. См. qaru.site/questions/45200/...
android:installLocation
не влияет на обратную совместимость -minSdkVersion
делает.