Android友盟多渠道打包,记录android开发中遇到的问题

1.友盟打包方案

定义: 友盟的定义是在应用中添加一个标识符,当应用在不同的平台被下载安装时,可以检测到用户是从哪个平台下载安装的

接下来实现方法,①:首先去友盟官网申请获取app key  地址是 友盟


②:在清单文件AndroidManfest.xml的application标签中添加一个meta-data标签定义UMENG_CHANNEL占位符,并填入appkey


<meta-data android:name="UMENG_APPKEY" android:value="60c2d2cca82b08615e4e9558"/> <!--自己申请的App key--><meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}" /> <!--渠道号,多渠道这里使用了占位符$-->

③:所需要的权限在清单文件中写入


<uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /><uses-permission android:name=" android.permission.ACCESS_NETWORK_STATE" />

④:在app的build.gradle文件中写入,这是第一种方式


productFlavors { wandoujia { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia"] } xiaomi { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi"] }}

第二种方式,优化方式一

    

//优化方式一productFlavors{ wandoujia{ //manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia"] } xiaomi{ //manifestPlaceholders=[UMENG_CHANNEL_VALUE: "xiaomi"] }}productFlavors.all { flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]}

    优化方式二:上面经过签名打包之后默认的apk命名规范 xxx-xiaomi-release.apk,但是我们想包含版本信息如xxx-xiaomi-release-1.0.apk,所以最终优化如下


productFlavors{ wandoujia{ //manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia"] } xiaomi{ //manifestPlaceholders=[UMENG_CHANNEL_VALUE: "xiaomi"] }}productFlavors.all { flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]}applicationVariants.all { variant -> variant.outputs.each { output -> def outputFile = output.outputFile if (outputFile != null && outputFile.name.endsWith('.apk')) { def fileName = outputFile.name.replace(".apk", "-${defaultConfig.versionName}.apk") output.outputFile = new File(outputFile.parent, fileName) } }}

                


⑤你可能会报以下错误 ,因为更新as3.0以后会同步失败


正确的写法:


android.applicationVariants.all { variant -> variant.outputs.all { outputFileName = "${variant.name}-${variant.versionName}.apk" }}

然后 进行打包 就会有多个渠道供自己选择:



说明一下,2年Android经验 其实一直很想写些东西,这样才能不断学习不断进步,记录自己开发中遇到的各种问题,希望大家多多指点,积极改正,一起学习进步。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容