Android Gradle manifestPlaceholders 的妙用
来源:互联网 发布:ipad玩游戏网络不稳定 编辑:程序博客网 时间:2024/06/04 20:09
开发中很多时候我们会遇到这种场景,比如说:在用到一个第三方sdk,但是这个sdk并没有区分开发环境和线上环境,这时候我们就可能会申请两个不同的key标识,而且很多key标识都只能在androidmanifest里面配置。所以每次上线生成apk就必须手动去更改key标识,如果渠道版本少也还好,打包速度快也还行,需要区分环境的的key标识相对较少也还不错 ,但是如果你一项都沾不到边,到时忘记哪个key忘记替换了,一定会有种“身体被掏空的赶脚”,别问我为什么知道,感觉身体被掏空!!!
- 先在androidmanifest文件配置一个节点,这里以极光为例
<meta-data android:name="JPUSH_APPKEY" android:value="${jpush_appkey}"/>
- 再看看build.gradle里面怎么写
在bulidtypes节点下有release节点和debug节点,正式签名时就会走release节点的下编译脚本,调试签名时就会走debug节点。
本文主要点就是红框标记的manifestPlaceholders的用法,jpush_appkey对应的就是之前在androidmanifest文件配置的${jpush_appkey}的这个值。
点进源码我们可以发现manifestPlaceholders接收是一个Map的参数,所以这样其实还有很多可以自定义的地方。
- 比如说在多渠道打包我们也用到了manifestPlaceholders,androidstudio多渠道打包方式网上教程已经很多了,
这里就不多说了,具体内容可以google或者bing,百度就不推荐,以免被坑,嘿嘿嘿。
- 我们在程序入口出打上log,用来输出key的值
String jpush_appkey; try { ApplicationInfo appInfo = getPackageManager() .getApplicationInfo(getPackageName(), PackageManager.GET_META_DATA); jpush_appkey = appInfo.metaData.getString("JPUSH_APPKEY"); Logger.d("jpush_appkey=" + jpush_appkey); } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); }
正式环境的key值
测试环境的key值
可以看到这个和之前我们在build.gradle只配置的一样的。
总结
manifestPlaceholders 可以替换androidmanifest文件中的标签,可作为快速渠道打包替换渠道名的一种方式,也可以自定义标签用来替换需要的文本,多作为不同环境不同key的修改。
0 0
- Android Gradle manifestPlaceholders 的妙用
- Android Gradle manifestPlaceholders 的使用
- Android Gradle manifestPlaceholders 占位符详解
- Android Gradle BuildConfig的妙用
- Build.gradle的妙用<一>
- Build.gradle的妙用<二>
- Android LOCAL_JAVA_RESOURCE_FILES 的妙用
- android image level的妙用
- Android BuildConfig.DEBUG的妙用
- Android view.setTag的妙用。
- Android BuildConfig.DEBUG的妙用
- android BuildConfig Debug的妙用
- android BuildConfig.DEBUG的妙用
- Android BuildConfig.DEBUG的妙用
- ANDROID BUILDCONFIG.DEBUG的妙用
- 使用manifestPlaceholders
- 使用manifestPlaceholders
- Android--Gradle的理解
- Android 之 Picasso使用
- AOSP编译
- 浅谈Web自适应
- java学习之路 之 面向对象编程-数组
- Leetcode Set Matrix Zores
- Android Gradle manifestPlaceholders 的妙用
- NOI2016滚粗记
- Mybatis基础
- 读三体
- 关于回调技术的原理和作用
- 【POJ3321】Apple Tree-DFS+树状数组维护
- 利用树状数组(对数组左侧比数组小的点的个数进行维护)
- unity3d 第十八天
- 集成学习学习笔记(2)