Android基于ProductFlavors动态配置权限
16lz
2022-08-10
Android基于ProductFlavors动态配置权限
- ProductFlavors动态配置权限
- 添加 ProductFlavors
- 添加 Manifest
ProductFlavors动态配置权限
使用ProductFlavors动态配置渠道,String ,包名,资源文件很常见,但是动态配置权限就不常见了,现在运营人员想上架华为应用市场,但是华为应用市场要求必须去掉READ_CALL_LOG才可以上架,产品要求华为的不获取通话记录,但其他应用市场照旧,这就有点为难老衲了。
添加 ProductFlavors
//3.0版本Gradle开始必须添加纬度 flavorDimensions "default" //多渠道打包配置 productFlavors { //渠道包 huawei {} huandao {} } productFlavors.all { flavor -> flavor.manifestPlaceholders = [APP_CHANNEL: name] }
添加 Manifest
和自定义图片资源一样,针对于权限我们必须在AndroidManifest.xml文件中定义权限,对于每个渠道 我们必须定义相对应的AndroidManifest.xml文件。不同渠道需要将AndroidManifest添加到不同渠道的文件夹结构下。例如:
app / src / huawei / AndroidManifest.xml
app / src / huandao / AndroidManifest.xml
app / src / main文件夹中有一个默认的AndroidManifest.xml。
在pp / src / huandao文件夹中的AndroidManifest ,添加READ_CALL_LOG权限。
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.xxx.xxx"> <uses-permission android:name="android.permission.READ_CALL_LOG"/></manifest>
如何还需要定义其他渠道的权限也和这个一样写就行,我这里huawei 渠道不需要定义和main不一样的权限,就不创建app / src / huawei / AndroidManifest.xml这个文件了。
在打包时app / src / huandao / AndroidManifest.xml会自动和app / src / main/AndroidManifest.xml合并,就酱紫吧。
更多相关文章
- Android(安卓)Activity界面切换添加动画特效
- "Failed to fetch URL https://dl-ssl.google.com/android/repos
- Android(安卓)studio3.x 多渠道打包apk
- Android(安卓)流式布局FlowLayout(搜索历史),多布局、删除、添加
- Android(安卓)给 app默认权限(不弹窗申请权限)
- Android(安卓)SDK Manager无法更新的解决
- Android(安卓)Activity界面切换添加动画特效
- Gradle多渠道打包
- [APP] Android(安卓)开发笔记 006-使用短信验证SDK进行短信验证