Intereting Posts
Android-просмотрщик файлов по выбору после выбора ничего не происходит Gradle error: Минимальная поддерживаемая версия Gradle – 3.3. Текущая версия – 3.2 Храните изображение с камеры в каталог частных кешей приложений Добавление меню в штрих-код ZXings и сжатие поверхности Пакет Android не отлаживается ActionBar.setNavigationMode (ActionBar.NAVIGATION_MODE_TABS) устарело Как добавить JSoup.jar в мой проект Android? React-Native, Android, Genymotion: сервер ADB не ACK Почему приложение установлено дважды? Последние инструменты ADT и sdk установлены, но все еще запрашиваются последние инструменты sdk NullPointerException в службах Google Play при вызове play () на RemotePlaybackClient Сохранение информации о пользователе в настройках приложения Мне нужен альтернативный вариант для HttpClient в Android для отправки данных на PHP, поскольку он больше не поддерживается FLAG_TRANSLUCENT_NAVIGATION недоступна в ландшафтном режиме? Всплывающее меню в пользовательском ListView

Android + gradle: разные метаданные манифеста

Я хотел бы определить другой атрибут манифест meta-data зависимости от вкуса продукта. Я пытался это сделать,

 src/ main/ AndroidManifest.xml prod/ AndroidManifest.xml dev/ AndroidManifest.xml 

main манифест завершен, но версии prod и dev редки и содержат только метаданные,

 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.inventory" android:versionCode="1" android:versionName="1.0"> <meta-data android:name="analytics" android:value="true"/> </manifest> ? <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.inventory" android:versionCode="1" android:versionName="1.0"> <meta-data android:name="analytics" android:value="true"/> </manifest> 

Я понимаю, что проявления вкуса сольются с основным. В моем build.gradle, я делаю,

 android { productFlavors { prod { manifest.srcFile "prod/AndroidManifest.xml" } dev { manifest.srcFile "dev/AndroidManifest.xml" } } ... } 

Однако, найти, я пытаюсь построить «assembleProdDebug», я получаю это,

 * What went wrong: A problem occurred evaluating project ':Inventory'. > No signature of method: org.gradle.api.java.archives.internal.DefaultManifest.srcFile() is applicable for argument types: (java.lang.String) values: [prod/AndroidManifest.xml] 

Благодарю.

Solutions Collecting From Web of "Android + gradle: разные метаданные манифеста"

В вашем файле gradle вам не нужно определять путь к манифесту.

использовать:

 productFlavors{ prod {} dev{} } 

Убедитесь, что ваша структура каталогов верна: каталог с названием аромата для каждого аромата в директории src и в каждом каталоге помещает файл переопределения манифеста.

Gradle объединит файлы.

PS – если тэг метаданных находится внутри тега приложения, вы также должны применить тег приложения в переопределяющем манифесте.