Несколько файлов AndroidManifest.xml для одного проекта?

1

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

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

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

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

Решения, которые я нашел, следующие:

Однако для решения # 1 требуется API Lvl 4 (Android 1.6), а для решения # 2 требуется API Lvl 8 (Android 2.2)!

Так значит ли это, что, если я хочу, чтобы как # 1, так и # 2, как указано выше, мое приложение будет совместимо только с Android 2. 2+?

Или есть способ иметь несколько файлов AndroidManifest.xml для одного проекта? (Я знаю, что фактический код для приложения работает для Android 1.5 и кажется пустым, чтобы исключить их просто для нескольких дополнительных строк в файле манифеста)

Спасибо!

  • 0
    если вы хотите использовать вторые вещи, тогда minsdkVersion = 8 вашего приложения. В одном проекте нет двух файлов manifeast
  • 0
    Смотри ниже. android:installLocation не влияет на обратную совместимость - minSdkVersion делает.
Теги:
android-manifest
compatibility

3 ответа

1
Лучший ответ

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

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

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

  • 0
    Лично я бы предложил просто добавить все необходимые разрешения для одного проекта. Хотя Android 1.5, конечно, не идеален, он не настолько большой рынок, чтобы разделить проект, чтобы удалить пару разрешений, имхо.
  • 0
    хм, я мог бы также сделать targetSdkVersion = "4", я считаю, чтобы удалить разрешения. У меня проблема в том, что добавление этих файлов в файл манифеста делает его не компилируемым с помощью Android 1.5 ... надеялся, что их (в частности, installLocation = auto) можно просто проигнорировать ... но кажется, что это невозможно :(
Показать ещё 4 комментария
2

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

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

Спасибо Дипак

  • 0
    хм, я вижу - не знал, что 1.5 не позволил перейти на SD-карту. Однако, похоже, что вместо того, чтобы игнорировать его, 1.5 вообще не примет дополнительную опцию :(
  • 0
    Привет, Пико, если тебе нравится мой ответ, ты можешь проголосовать за него.
1

Используйте переименование пакета Android, чтобы иметь два разных пакета, то есть одно и то же приложение с различными файлами AndroidManifest.xml в одном проекте. См. qaru.site/questions/45200/...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню