gpt4 book ai didi

android - 不能使用 list 占位符来删除权限

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:12:32 30 4
gpt4 key购买 nike

我正在尝试使用 list 占位符来删除 AndroidManifest.xml 中的 uses-permission 节点,但没有成功。

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}" />

它会产生这样的错误:

Error:Execution failed for task ':app:processDebugManifest'. No enum constant com.android.manifmerger.NodeOperationType.${EXCLUDE_DEBUG_PERMISSIONS}

但是在其他任何地方使用占位符都可以正常工作(合并的 list 没问题,没有错误),例如

<uses-permission
android:name="${excludeDebugPermissions}"
tools:node="remove" />

所以我想 tools:node 属性不支持 list 占位符,我可能会通过替换权限名称而不是节点标记(merge/remove),但我希望尽可能避免使用它。

有什么建议吗?

最佳答案

我发现解决这个问题的最简单和最干净的方法是创建一个仅发布的 AndroidManifest 文件(app/src/release/AndroidManifest.xml),其中包含以下内容以删除 SYSTEM_ALERT_WINDOW 权限:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" tools:node="remove"/>
</manifest>

关于android - 不能使用 list 占位符来删除权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45170025/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com