您的位置:首页 > 移动开发 > Android开发

Android Studio 多渠道打包

2016-03-30 14:57 399 查看

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中看到。分别为未签名和签名的。

打完手工。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: