Gradle 实现 Android 多渠道定制化打包

565 查看

最近在项目中遇到需要实现 Apk 多渠道、定制化打包, 查找了一些资料,成功实现了上述功能,在此记录以备不时之需,温故而知新,可以为师矣~

需求可以总结如下:
多渠道打包

如何实现多个 Apk 安装在同一设备

在之前的印象中,同一个应用在同一设备上只能安装一个,除非手动修改 AndroidManifest.xml 文件中的包名( package ),但这么做的后果就是新的应用真的是新的应用,旧版应用再也收不到更新。而现在你通过 Gradle,你可以轻松构建多个不同版本的应用,并且在同一设备上安装使用。

这里要用到 productFlavors ,productFlavors 可以用来自定义应用构建版本,我们可以用其 applicationId 属性来实现多个 Apk 安装在同一设备上。

build.gradle 中部分配置代码如下:

MainActivity.java:

在 Android Studio 中执行如下命令:

打包完成后,将 Apk 安装到模拟器(adb install name.apk),运行,log 如下:

flavors_default:

flavors_dev:

flavors_release: