Android Studio 使用Gradle多渠道打包
一、使用Gradle進行類似小米這樣的多渠道打包
使用Gradle Android外掛裡的productFlavors。
假設我們要打包出如下的渠道xiaomi,waps
第一種方法
在app/src同級目錄下新建xiaomi,waps資料夾,這兩個資料夾裡面都各只有一個AndroidManifest.xml檔案
內容如下:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="package name">
<application>
<meta-data android:name="XIAOMI_CHANNEL" android:value="xiaomi"/>
</application>
</manifest>
注意,上面的value的值要和你的渠道名所對應。
然後在build.gradle的android{}節點裡面,新增productFlavors節點,程式碼如下:
//其他配置
productFlavors {
waps {}
xiaomi{}
}
//其他配置
注意:這裡的productFlavors 的名字要和你的資料夾的名字對應。這樣配置之後,構建的就是多渠道的APK了。 同步一下配置檔案,就可以執行Build-Generate Signed APK 打包。
第二種方法
不用建立那些檔案,它使用的是Gradle Android外掛裡的另一個功能,manifestPlaceholders。
你只需要在AndroidManifest.xml中,進行這樣配置:
<meta-data android:name="XIAOMI_CHANNEL" android:value="${CHANNEL_NAME}" />
然後同樣使用productFlavors,它的配置是這樣的:
productFlavors{
xiaomi{
manifestPlaceholders = [ CHANNEL_NAME:"xiaomi"]
}
waps{
manifestPlaceholders = [ CHANNEL_NAME:"waps"]
}
}
使用manifestPlaceholders的這種配置,同樣適用於manifest的其他配置。比如你需要在不同渠道釋出的apk裡面,指定不同的啟動Activity。比如在小米里釋出的,啟動的Activity顯示的是小米首發的介面,你就可以對你的activity的值使用
{activityname}的方式,然後在productFlavors裡面配置這個
{activityname}的值。 相關文章
- 關於Android studio Gradle 實現多渠道打包AndroidGradle
- Android使用Gradle實現多渠道打包AndroidGradle
- android gradle 多渠道打包小結AndroidGradle
- Android Studio 使用 Gradle 打包 JarAndroidGradleJAR
- Gradle for Android系列之五 多渠道打包GradleAndroid
- 史上最詳細的Android Studio系列教程六--Gradle多渠道打包AndroidGradle
- Android多渠道打包工具Gradle外掛使用詳解AndroidGradle
- Android 詳解Gradle(3.1.4)實現多渠道打包AndroidGradle
- Gradle For Android(二) 多渠道打包與簽名配置GradleAndroid
- Gradle 實現 Android 多渠道定製化打包GradleAndroid
- Gradle實戰:Android多渠道打包方案彙總GradleAndroid
- Gradle for Android(三)多渠道打包、配置簽名資訊GradleAndroid
- Android studio gradle 打包 那些事AndroidGradle
- Android多渠道打包Android
- Gradle模組化配置及多渠道打包Gradle
- Android持續整合:Jenkins+Gradle+360加固+多渠道打包AndroidJenkinsGradle
- android studio 3.0 gradle 打包指令碼配置AndroidGradle指令碼
- Android 多渠道打包配置Android
- Android使用Ant進行apk多渠道打包AndroidAPK
- Walle —— Android多渠道打包神器Android
- Android多渠道打包實踐Android
- android多渠道打包最快方案Android
- Android美團多渠道打包Walle整合Android
- Android Studio使用離線GradleAndroidGradle
- 多渠道打包
- Android 多渠道打包開發記錄Android
- Android多渠道打包相關介紹Android
- android Ant 批量多渠道打包 總結!Android
- Gradle多渠道打包的原理、實踐與輔助開發Gradle
- Android Gradle指令碼解決美團多渠道打包再加固渠道資訊丟失問題AndroidGradle指令碼
- Gradle prodcutFlavors 多渠道Gradle
- Android 生成簽名apk與多渠道打包AndroidAPK
- Android Studio使用gradle向Maven私服提交AndroidGradleMaven
- 使用 Gradle 管理你的 Android Studio 工程GradleAndroid
- 【Android】Android Studio啟動配置gradleAndroidGradle
- Flutter 多渠道打包實踐Flutter
- Android進階之Walle多渠道打包&Tinker熱修復Android
- Android Studio NDK:三、打包SOAndroid