简言:
最近一直没有更新博客,因为刚刚换了工作,新工作任务较多,导致一直没有更新博客,换了一个新的环境,接触的知识也变得更多了,之前一直做公司自己的线下产品,如何多渠道打包忘的差不多了,最近新公司项目上线,又得重新整理这个知识点,正好分享一下,如何用Gradle配置多渠道打包,(现在公司项目好多啊,表示好累啊!!!)下面分享一下通过Gradle打包的详细步骤:
1.配置Debug的生产签名,方便调试
// 配置Debug的生产签名,方便调试
signingConfigs {
release {
storeFile file("签名文件名称.key")
storePassword "签名文件密码"
keyAlias "别名"
keyPassword "签名文件密码"
}
debug {
storeFile file("签名文件名称.key")
storePassword "签名文件密码"
keyAlias "别名"
keyPassword "签名文件密码"
}
}
如果没有签名文件怎么办?我觉得android开发应该都会配置了,生成签名步骤:
1.点击build
2. 选择Generate sigend Bundle/apk...
3.弹出如下窗口,选择apk 点击next.
4.我这是有签名文件的,选择了签名文件,加上上边配置的密码以及别名,如果没有选择Create new 按钮:
5.这里输入别名,设置密码,选择别名位置等信息,就会生成一个新的别名,我就不详细说这里了,毕竟这个不是今天的主要任务;
到这里如何生成一个签名文件就讲解完毕了。
2.添加你想要的生成apk的渠道:
/*配置渠道*/
productFlavors {
android {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "android",
app_name: "您的app名称"]
}
huawei {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "huawei",
app_name: "您的app名称"]
}
xiaomi {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi",
app_name: "您的app名称"]
}
vivo {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "vivo",
app_name: "您的app名称"]
}
oppo {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "oppo",
app_name: "您的app名称"]
}
baidu {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "baidu",
app_name: "您的app名称"]
}
}
3.通过Gradle生成apk名称,带有渠道名称,时间戳,版本号,版本名称等信息:
android.applicationVariants.all { variant ->
variant.outputs.all {
outputFileName = defaultConfig.applicationId + "_" +
defaultConfig.versionName + "_" + defaultConfig.versionCode + "-" +
new Date().format("yyyyMMddHHmm") + "_" + productFlavors[0].getAt("name") +
".apk"
}
}
4.在AndroidManfist.xml文件中引用Gradle的app名称,如下图所示:
5.如果做友盟统计,需要添加如下代码,获取Gradle中渠道名称:
// 获取 UMENG_CHANNEL 对应的value
public static String getChannelValue (Context context){
try {
ApplicationInfo info = context.getPackageManager().getApplicationInfo(context.getPackageName(), PackageManager.GET_META_DATA);
String value = info.metaData.getString("UMENG_CHANNEL");
return value;
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
return "";
}
6.打包,根据自己需要的渠道进行打包,(上方提供的签名方式就是打包方式,不详细讲解)
点击Finish进行打包,如下图就是打包结果:
到这里Gradle配置的多渠道打包就结束了,希望能帮助到您,如果帮助到您,帮忙点点关注。我会继续为大家分享更多的福利。。。