J'essaie d'utiliser un espace réservé manifeste pour supprimer un noeud uses-permission
dans le AndroidManifest.xml
pour des versions de version sans succès.Impossible d'utiliser des espaces réservés manifestes pour supprimer une autorisation
build.gradle
buildTypes {
release {
manifestPlaceholders.excludeDebugPermissions = "remove"
}
debug {
manifestPlaceholders.excludeDebugPermissions = "merge"
}
}
AndroidManifest.xml
<uses-permission
android:name="android.permission.SYSTEM_ALERT_WINDOW"
tools:node="${excludeDebugPermissions}" />
Il produit une erreur comme ceci:
Error:Execution failed for task ':app:processDebugManifest'. No enum constant com.android.manifmerger.NodeOperationType.${EXCLUDE_DEBUG_PERMISSIONS}
Mais en utilisant l'espace réservé partout fonctionne autrement correctement (le manifeste fusionné est OK et il n'y a pas d'erreur), par ex.
<uses-permission
android:name="${excludeDebugPermissions}"
tools:node="remove" />
Donc je suppose que l'attribut tools:node
ne supporte pas les espaces réservés manifeste et je vais probablement le pirater en remplaçant le nom d'autorisation au lieu du marqueur de noeud (merge
/remove
), mais je préférerais éviter si possible.
Des conseils?
vous visez d'avoir des autorisations différentes pour le débogage et versions Release? Vous pouvez mettre un autre manifeste android dans src/debug. L'inconvénient est que vous avez deux à maintenir. – RobVoisey
@RobVoisey En fait, j'essaie de me débarrasser de l'autorisation SYSTEM_ALERT_WINDOW héritée de React Native. –
Avez-vous pu résoudre ce problème? –