Android Studio 多渠道打包
如果你的App同时需要发布到N个应用平台,而同时你又需要针对每个平台进行统计,那么打包过程肯定是一件头疼的事儿,再如果你在最后一个包打完之后发现,URL居然还是用的测试接口……呵呵~
拉磨~ Android Studio,一款Android开发人员的福音IDE,他在各方面都做了优化和简化,多渠道打包也肯定在内了。你只需要三步,对,你没听错,就是三步,就能让这个勤劳的老黄牛帮你做这件头疼的事。
这里我们用友盟举例:(友盟快给我广告费~)
1.修改你项目中的AndroidManifest文件,像这样:
//修改前
<meta-data
android:name="UMENG_CHANNEL"
android:value="WanDouJia"/>
// 修改后
<meta-data
android:name="UMENG_CHANNEL"
android:value="${UMENG_CHANNEL_VALUE}"/>
2. 修改你项目下的build.gradle, 像这样:
productFlavors {
// 像这样把你需要发布的平台罗列出来
BaiDu {}
ZhuShou {}
GuanWang {}
WanDouJia {}
XiaoMi {}
YingYongBao {}
productFlavors.all { flavor ->
flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}
}
// 你的签名配置
signingConfigs {
release {
storeFile file("C:\\aaa\\keystore .jks")
storePassword "your storePassword"
keyAlias "your keyAlias"
keyPassword "your keyPassword "
}
}
// 将你的签名配置加到这里
buildTypes {
release {
// 这里要加入上面的签名配置信息
signingConfig signingConfigs.release
}
}
上面把密码写入了gradle,这样不安全,所以还有这样一种方案,也是推荐方案,像这样:
signingConfigs {
myConfig {
storeFile file("stone.keystore")
storePassword System.console().readLine("\nKeystore password: ")
keyAlias "stone"
keyPassword System.console().readLine("\nKey password: ")
}
}
这样他会在编译的过程中让你输入密码,但是不知道是我弄错了还是怎么回事,总是告诉我没法回调readLine() 。所以如果知道怎么回事的同学请回复告诉我,感激不尽~
3. 执行gradlew assembleRelease 开始打包
点击Android Studio低栏的Terminal,像这样:
打包好的apk会在你项目下的app\build\outputs\apk中看到。分别为未签名和签名的。
打完手工。