Gradle配置:清除所有Android 权限,保留部分权限
有时候我们项目有很多第三方SDK,打包时清单文件合并,导致权限无法清除(不可控),这里教大家如何清理权限,符合国家规范.
打包前清单文件:
project.afterEvaluate {
android.applicationVariants.all { variant ->
variant.outputs.each { output ->
output.processResources.doFirst { pm->
String manifestPath = output.processResources.manifestFile;
def manifestContent = file(manifestPath).getText()
manifestContent = manifestContent.replace('android.permission.CAMERA', '')//清除指定权限
manifestContent = manifestContent.replace('<uses-permission', '')//清除所有权限
manifestContent = manifestContent.replace('<mypermission', '<uses-permission')//保留指定权限
file(manifestPath).write(manifestContent)
}
}
}
}
清除后打包编译查看结果:
结果只有网络权限,其他全部清除掉了.