Android 要求所有 APK 必须先使用证书进行数字签署,然后才能安装。
在Android开发中,有的公司需要进行多渠道打包,通过多次修改清单文件的配置来打包太麻烦,下面介绍一种比较简单的方法。使用AS提供的多渠道打包方法。具体步骤如下:
1.在你的AndroidManifest.xml中设置动态渠道变量
<meta-data
android:name="UMENG_CHANNEL"
android:value="${UMENG_CHANNEL_VALUE}" />
2.在你的app的build.gradle中设置productFlavors
productFlavors定义的是产品特性,配合 manifest merger使用可在一次编译过程中产生多个具有独特配置的版本。这个配置是为每个渠道包产生不同的 UMENG_CHANNEL_VALUE值。假定需要打包的渠道为小米市场、应用宝、360,具体代码如下:
android {
productFlavors {
xiaomi {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi"]
}
yingyongbao {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "yingyongbao"]
}
qh360 {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "qh360"]
}
}
或者批量修改
android {
productFlavors {
xiaomi {}
yingyongbao {}
qh360 {}
}
productFlavors.all{
flavor-> flavor. manifestPlaceholders = [UMENG_CHANNEL_VALUE:name]
}
}
3.执行操作
在AS菜单栏点击Build—>Generate signed APK
下一步,弹出框
当点击Create new 按钮时,则是创建一个新的签名,没有数字证书的就新建。
当点击 Choose existing按钮时,则是选择一个已有的签名。
当点击Create new之后
需要注意:数字证书是有效期的,Android只是在应用程序安装时才会检查证书的有效期。如果程序已经安装在系统中,即时证书过期也不会影响程序的正常运行。
官网给的操作栗子
下一步
调试模式不能在android市场上销售
下一步
APK signature scheme v2
Android官网解释
点击完成后
剩下的就是交给项目经理,或者产品经理,去上线吧。