android 多渠道打包(apk多渠道打包)

多渠道打包,相信很同学都知道。在Android Studio中只要经过配置,就能打出对应市场的渠道包,便于统计各个应用市场的下载及使用用户的情况。这里不得不介绍下友盟统计,多渠道打包基本上很多都会用到友盟统计。

最传统的方式,使用productFlavors来打包多渠道

  1. 首先集成友盟统计SDK

    在Gradle中集成如下:

  2. dependencies {
     compile 'com.umeng.analytics:analytics:latest.integration'
     }

2.在AndroidManifest.xml的application节点下meta-data中配置如下:

<meta-data
 android:name="UMENG_APPKEY"
 android:value="您在友盟平台申请的AppKey"/> <meta-data
 android:name="UMENG_CHANNEL"
 android:value="${UMENG_CHANNEL_VALUE}"/>

3.配置一些Gradle语言以及多渠道ID:

只写关键代码

productFlavors {
 baidu {}
 huawei {}
 xiaomi {} ....//其他渠道
 } productFlavors.all { flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name] }

4.签名打包

android 多渠道打包(apk多渠道打包)

配置好签名信息,按照步骤来

android 多渠道打包(apk多渠道打包)

缺点是打包速度特别慢,渠道一多,可能会花好几分钟,甚至更长

美团walle

https://github.com/Meituan-Dianping/walle

  1. 配置build.gradle

在位于项目的根目录 build.gradle 文件中添加Walle Gradle插件的依赖, 如下:

buildscript {
dependencies {
classpath 'com.meituan.android.walle:plugin:1.1.5'
}
}

并在当前App的 build.gradle文件中apply这个插件,并添加上用于读取渠道号的AAR

apply plugin: 'walle'
dependencies {
compile 'com.meituan.android.walle:library:1.1.5'}

2.配置插件

walle {
// 指定渠道包的输出路径
apkOutputFolder = new File("${project.buildDir}/outputs/channels"); 
 // 定制渠道包的APK的文件名称
apkFileNameFormat = '${appName}-${packageName}-${channel}-${buildType}-v${versionName}-${versionCode}-${buildTime}.apk'; 
 // 渠道配置文件
channelFile = new File("${project.getProjectDir()}/channel")
}

android 多渠道打包(apk多渠道打包)

点击assembleReleaseChannels,打的包会在build文件夹下outputs/channels/文件夹下

1分钟打100个渠道包完全没问题

借用第三个软件 360加固助手、乐固等

比如你的应用要上传到应用宝或者360应用市场上,会提示你要加固应用,然后给你推荐加固软件,这类软件不仅可以加固应用而且能够签名和多渠道打包,值得一提的是要是仅仅加固应用,你的应用的渠道会丢失以及还需要重新签名。

packer-ng-plugin

下一代Android打包工具,100个渠道包只需要10秒钟。使用方式可以查看

https://github.com/mcxiaoke/packer-ng-plugin

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发表评论

登录后才能评论