Отдельная строка XML для режима отладки или выпуска в манифесте android

Мой Android-манифест использует разные значения при отладке и выпуске.

Каков самый простой способ дифференцировать значение для каждого типа сборки?

При отладке:

<meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="my-lovely-debug-api-key" /> 

При выпуске:

  <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="my-lovely-release-api-key" /> 

ТИА.

Solutions Collecting From Web of "Отдельная строка XML для режима отладки или выпуска в манифесте android"

Обратите внимание, что если вы используете сборки по умолчанию Eclipse, он, вероятно, использует специально сконфигурированный модуль Ant в eclipse. Вы можете проверить степень координации Eclipse / Ant, проверив раздел «Window / Preferences / Ant» в eclipse / Prefs ….

Одним из решений является более явное сотрудничество Eclipse / Ant, так что файл «build.xml» является частью вашего проекта (файл сборки на уровне проекта, а не файл по умолчанию, скопированный во время сборки из папки $ SDK / ROOT ).

См. Здесь и прочитайте комментарии внизу, чтобы лучше понять, как используется файл уровня проекта build.xml.

После того, как вы переварили это, решение ниже будет иметь больше смысла …

–Решение–

Измените разделы Release и Debug файла build.xml следующим образом:

  <!-- **************** Debug specific targets *************** --> ... <target name="-set-debug-mode" depends="-setup"> ... <!-- API modify belo for build-typ --> <copy file="config/strings.xml" todir="res/values"> <filterset> <filter token="CONFIG.API" value="${config.db.api}"/> <filter token="CONFIG.REST" value="${config.db.rest}"/> </filterset> </copy> ... <!-- *************** Release specific targets ************** --> ... <target name="-set-release-mode" depends="-set-mode-check"> ... <!-- API modify belo for build-typ --> <copy file="config/strings.xml" todir="res/values"> <filterset> <filter token="CONFIG.API" value="${config.db.api.prod}"/> <filter token="CONFIG.REST" value="${config.db.rest.prod}"/> </filterset> </copy> 

И в файле ant.properties в вашей корневой папке поместите значения свойств для ключей API и любого другого …

 # API condition builds dev|prod in DB @parse.com config.db.api=some_key_val config.db.rest=some_k2_val config.db.api.prod=some_k3_val config.db.rest.prod=some_k4_val 

И свяжите его вместе в ресурсе xml, который является целью команд «copy» в сборке …

  'config/strings.xml' <string name="default_value_parse_key_appId">@CONFIG.API@</string> <string name="default_value_parse_key_rest">@CONFIG.REST@</string>