So fügen Sie mit Gradle Berechtigungen basierend auf der Geschmacksrichtung zum Android-Manifest hinzuAndroid

Forum für diejenigen, die für Android programmieren
Anonymous
 So fügen Sie mit Gradle Berechtigungen basierend auf der Geschmacksrichtung zum Android-Manifest hinzu

Post by Anonymous »

Kann ich irgendwie bestimmte Berechtigungen zum Manifestieren für bestimmte Geschmacksrichtungen hinzufügen/nicht hinzufügen?
Nehmen wir an, ich habe zwei Geschmacksrichtungen

Code: Select all

>main
>cloud
Ich habe die Berechtigung REQUEST_INSTALL_PACKAGES. Ich möchte es in der Geschmacksrichtung „Haupt“ haben, aber ich möchte dies nicht in der Geschmacksrichtung „Wolke“. Kann ich das mithilfe von Variablen in Gradle tun?
Ich habe bereits versucht, alle Berechtigungen im Hauptmanifest festzulegen und sie dann im Flavor-Manifest zu entfernen: Aber es passiert nichts, das zusammengeführte Manifest ist immer noch mit dieser Berechtigung vorhanden. Daher denke ich, dass der Ansatz, es über Gradle hinzuzufügen, besser wäre, aber ich weiß nicht wirklich, wie ich das machen soll.
@edit
Unten finden Sie die Dimensionen und Definitionen meiner Gradle-Variante:

Code: Select all

   def enableCrashlyticsInDebugBuild = false
def enableCrashlyticsInReleaseBuild = true

buildTypes {
release {
minifyEnabled true
firebaseCrashlytics {
mappingFileUploadEnabled true
}
proguardFile 'proguard.cfg'
manifestPlaceholders = [crashlyticsEnabled:"${enableCrashlyticsInReleaseBuild}"]
}
debug {
manifestPlaceholders = [crashlyticsEnabled:"${enableCrashlyticsInDebugBuild}"]
}
}
flavorDimensions "environment", "distribution"
productFlavors {

enterprise {
dimension 'distribution'
}

store {
dimension 'distribution'
}

sampleBuildType {
dimension 'environment'
signingConfig signingConfigs.sampleConfig
applicationId "com.sample.sampleBuildType"
buildConfigField "String", "DEFAULT_APP_THEME", "\"DARK\""
buildConfigField "String", "APP_CATEGORY", "\"ENTERPRISE\""
}
cloud {
dimension 'environment'
signingConfig signingConfigs.cloudConfig
applicationId "com.app.sample.Cloud"
buildConfigField "String", "DEFAULT_APP_THEME", "\"DARK\""
buildConfigField "String", "APP_CATEGORY", "\"ENTERPRISE\""
}
Außerdem habe ich in Gradle Code gefunden, den ich nicht wirklich verstehe und der relevant sein könnte:

Code: Select all

    variantFilter { variant ->
def names = variant.flavors*.name

if (names.contains("store") && !names.contains("cloud_prod")) {
setIgnore(true)
}

if (names.contains("enterprise") && names.contains("cloud_prod")) {
setIgnore(true)
}
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post