android – 无法使用清单占位符删除权限

android – 无法使用清单占位符删除权限,第1张

概述我正在尝试使用清单占位符来删除 AndroidManifest.xml中的uses-permission节点以获取发布版本,但没有运气. 的build.gradle buildTypes { release { manifestPlaceholders.excludeDebugPermissions = "remove" } debug { 我正在尝试使用清单占位符来删除 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}

但是在其他任何地方使用占位符都能正常工作(合并后的清单是正常的并且没有错误),例如

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

所以我想工具:node属性不支持清单占位符,我可能会通过替换权限名称而不是节点标记(合并/删除)来破解它,但我希望尽可能避免使用它.

有什么建议吗?

解决方法 我发现解决此问题的最简单,最干净的方法是创建一个仅发布的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 – 无法使用清单占位符删除权限全部内容,希望文章能够帮你解决android – 无法使用清单占位符删除权限所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1138256.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存