多渠道打包

1. 多渠道打包

1、 修改AndroidManifest.xml配置信息 示例:

<meta-data
android:name="ANALYSYS_APPKEY"
android:value="demobank631"/>
<meta-data
android:name="ANALYSYS_CHANNEL"
android:value="${ANALYSYS_CHANNEL_VALUE}"/>

渠道value的值修改为${ANALYSYS_CHANNEL_VALUE}

2、 在build.gradle文件内添加渠道信息 例如需要打包的渠道为小米、百度、豌豆荚,则配置如下:

方式 1
android {
defaultConfig {
flavorDimensions "versionCode"
}
productFlavors {
xiaomi {
manifestPlaceholders = [ANALYSYS_CHANNEL_VALUE: "xiaomi"]
}
baidu {
manifestPlaceholders = [ANALYSYS_CHANNEL_VALUE: "baidu"]
}
wandoujia {
manifestPlaceholders = [ANALYSYS_CHANNEL_VALUE: "wandoujia"]
}
}
}
// 方式 2
android {
defaultConfig {
flavorDimensions "versionCode"
}
productFlavors {
kuan {}
xiaomi {}
qh360 {}
baidu {}
wandoujia{}
productFlavors.all { flavor ->
flavor.manifestPlaceholders = [ANALYSYS_CHANNEL_VALUE: name]
}
}
}

以上两种配置方式均可。

3、开发工具打apk包 在AndroidStudio菜单栏点击Build菜单–>Generate signed APK–>选择key并输入密码,选择apk包的存储位置并选择需要的渠道。

注意:如果打出的apk包名称中携带unsigned信息,如:app-baidu-release-unsigned.apk,可以试试打包的时候手动输入一下签名信息的密码。

4、 命令行打apk包 还需在build.gradle文件中配置如下签名信息:

android {
signingConfigs {
release {
keyAlias "analysys"
keyPassword "analysys" //签名密码
storeFile file("../keyStore") //签名文件路径
storePassword "analysys"
}
}
}

执行命令./gradlew assembleRelease,此时在app/build/output/apk目录下会生成相应渠道的apk包。 注意:如果打出的apk包名称中携带unsigned信息,如:app-baidu-release-unsigned.apk, 则表示apk包无签名信息,则需要在build.gradle文件中添加如下内容:

buildTypes {
release {
signingConfig signingConfigs.release
}
}

如果想打指定渠道的包可以执行如下格式命令: ./gradlew assemble + build.gradle中配置渠道名称 + release

如需要打豌豆荚渠道apk包,则执行如下命令:

./gradlew assembleWandoujiaRelease