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中看到。分別爲未簽名和簽名的。
打完手工。