Próbuję użyć manifestu zastępczego do usunięcia węzła uses-permission
w AndroidManifest.xml
dla wersji wydań bez powodzenia.Nie można użyć manifestu zastępczego do usunięcia uprawnienia
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}" />
Produkuje błąd takiego:
Error:Execution failed for task ':app:processDebugManifest'. No enum constant com.android.manifmerger.NodeOperationType.${EXCLUDE_DEBUG_PERMISSIONS}
ale stosując zastępczy nigdzie indziej prace poprawnie (scalony manifest jest OK i nie ma błędu), np.
<uses-permission
android:name="${excludeDebugPermissions}"
tools:node="remove" />
Więc przypuszczam atrybut tools:node
nie obsługuje oczywistych zastępcze, a ja prawdopodobnie będzie siekać je zastępując nazwę uprawnień zamiast znacznika węzeł (merge
/remove
), ale wolałbym uniknąć jeśli to możliwe.
Wszelkie porady?
ty mające na celu mają różne uprawnienia do debugowania i uwalniania buduje? Możesz umieścić kolejny android manifest w src/debug. Minusem jest to, że masz dwa do utrzymania. – RobVoisey
@RobVoisey Właściwie to próbuję pozbyć się uprawnienia SYSTEM_ALERT_WINDOW odziedziczonego po React Native. –
Czy byłeś w stanie to rozwiązać? –