本文主要是介绍实现android清单文件里某个权限动态配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
举例:<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
需求:debug有这个权限,release没有这个权限
一. 第一种是第三方库没有引入MANAGE_EXTERNAL_STORAGE权限,实现如下
app的AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.example.demo"><uses-permission android:name="${MANAGE_EXTERNAL_STORAGE}"tools:node="merge"/><application.../>
</manifest>
app模块下build.gradle
android {...buildTypes {debug {...//debug提供真实权限manifestPlaceholders = [MANAGE_EXTERNAL_STORAGE: "android.permission.MANAGE_EXTERNAL_STORAGE"]}release {...//release提供com.example.demo.permission占位,有值才能编译过manifestPlaceholders = [MANAGE_EXTERNAL_STORAGE: "com.example.demo.permission"]}}
}
二.第二种是第三方库已经引入了MANAGE_EXTERNAL_STORAGE权限,实现如下
app的AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.example.demo"><uses-permission android:name="${MANAGE_EXTERNAL_STORAGE}"tools:node="remove"/><application.../>
</manifest>
app模块下build.gradle
android {
...buildTypes {debug {...//debug提供com.example.demo.permission占位,有值才能编译过manifestPlaceholders = [MANAGE_EXTERNAL_STORAGE: "com.example.demo.permission"]}release {...//release提供真实权限manifestPlaceholders = [MANAGE_EXTERNAL_STORAGE: "android.permission.MANAGE_EXTERNAL_STORAGE"]}}
}
这篇关于实现android清单文件里某个权限动态配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!