
的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 – 无法使用清单占位符删除权限所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)