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合并,就酱紫吧。

更多相关文章

  1. Android(安卓)Activity界面切换添加动画特效
  2. "Failed to fetch URL https://dl-ssl.google.com/android/repos
  3. Android(安卓)studio3.x 多渠道打包apk
  4. Android(安卓)流式布局FlowLayout(搜索历史),多布局、删除、添加
  5. Android(安卓)给 app默认权限(不弹窗申请权限)
  6. Android(安卓)SDK Manager无法更新的解决
  7. Android(安卓)Activity界面切换添加动画特效
  8. Gradle多渠道打包
  9. [APP] Android(安卓)开发笔记 006-使用短信验证SDK进行短信验证

随机推荐

  1. 使用HttpURLConnection实现在android客户
  2. android 利用android:scheme 打不开app或
  3. 我的Android知识架构
  4. Android(安卓)如何从应用深入到Framework
  5. EventBus 3.0进阶-Delivery Threads (Thre
  6. Android:这是一份全面 & 详细的Intent组件
  7. android源代码framework取消apk强制翻转
  8. 从零开始,做一款Android(安卓)app发布到谷
  9. Android内存原理
  10. android性能监测工具,帮了我很大的忙