Несколько файлов AndroidManifest.xml для одного проекта? - PullRequest
1 голос
/ 26 мая 2011

В течение последних нескольких месяцев я разрабатывал Android-приложение для Cupcake (Android 1.5, API уровня 3), и все работает довольно хорошо (в целом это довольно простое приложение).

Однако недавно я заметил, что хотел бы сделать две вещи:

  1. Ограничить разрешения только на использование Интернета (с API уровня 3 он использует 2 других разрешения, несмотря на то, что он определяет только разрешение Интернета в манифесте xml)
  2. Разрешить пользователям перемещать приложение на SD-карту / внешнее хранилище

Оба эти изменения действительно просты - пара строк в AndroidManifest.xml

Решения, которые я нашел:

  1. Чтобы ограничить разрешения, добавьте: <uses-sdk android:minSdkVersion="4"/> http://developer.android.com/guide/topics/manifest/uses-sdk-element.html
  2. Чтобы разрешить пользователям перемещать приложение на SD-карту, добавьте (к тегу manifest): 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 и, кажется, пустая трата исключить их просто для пары дополнительных строк в файле манифеста)

Спасибо!

Ответы [ 3 ]

2 голосов
/ 26 мая 2011

Относительно Переместите ваше приложение на SD-карту.Это было не раньше.Когда появился Android 1.5, такого понятия не было.Это более новая концепция для Android 1.5

Я не думаю, что вы можете предоставить эту функцию для Android 1.5

Спасибо Deepak

1 голос
/ 29 июня 2012

Используйте переименование пакета Android, чтобы иметь два разных пакета, то есть одно и то же приложение с разными файлами AndroidManifest.xml в одном проекте. Смотри https://stackoverflow.com/a/4426654/1173350

1 голос
/ 26 мая 2011

Добавление android:installLocation="auto" не окажет негативного влияния на обратную совместимость - оно будет просто игнорироваться старыми версиями Android.

Настройка <uses-sdk android:minSdkVersion="4"/> не позволит установить или отобразить приложение на Маркете на устройствах Android 1.5.Это вся его цель.

Если вам нужен разный набор разрешений для разных версий SDK, вам, к сожалению, понадобятся два отдельных проекта и два отдельных списка Market.Вы можете запретить отображение версии вашего приложения Cupcake для новых устройств, добавив android:maxSdkVersion="3" к тегу <uses-sdk>.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...