Подтвердить что ты не робот

Android - заполнить заполнители для разных типов сборки

Я очень раскритиковал новую возможность манифеста заполнителей в Gradle + Android Build. Я нашел в документации Gradle, что я могу указать свои собственные заполнители следующим образом:

productFlavors {
    free {
    }
    pro {
        manifestPlaceholders = [ activityLabel:"proName" ]
    }
}

Но я хотел бы, чтобы один заполнитель зависел от типа сборки, а не от продуктов. Когда я вставляю эту спецификацию заполнителя в настройки типа сборки, это не имеет никакого эффекта. Вы знаете, как достичь этого? Потому что мне кажется глупым три типа сборки и три аромата, связанные с ним. Благодаря

4b9b3361

Ответ 1

Начиная с сегодняшнего дня с gradle плагин 0.13.0 уже работает.

Ответ 2

Это мое решение для различных вкусов продукта:

build.gradle:

productFlavors {
normal {
    applicationId "mobi.cwiklinski.urc"
    buildConfigField "String", "providerAuthority", "\"mobi.cwiklinski.urc.provider\""
    resValue "string", "authorities", "mobi.cwiklinski.urc.provider"
}
adfree {
    applicationId "mobi.cwiklinski.urc.adfree"
    buildConfigField "String", "providerAuthority", "\"mobi.cwiklinski.urc.adfree.provider\""
    resValue "string", "authorities", "mobi.cwiklinski.urc.adfree.provider"
}

}

AndroidManifest.xml

<provider
        android:name="mobi.cwiklinski.urc.provider.AppProvider"
        android:authorities="@string/authorities"
        android:exported="true"
        android:label="@string/app_name"
        android:syncable="true"
        android:writePermission="mobi.cwiklinski.urc.permission.USE_PROVIDER" />

И что все - в разных продуктовых вкусах вы получите различное значение ресурса.