android studio中使用gradle多渠道打包,androidgradle
嘗試了用android studio中使用gradle打多渠道的程式包,果然如傳說中那樣神奇。本文中部分是參考Google上的內容,權當學習記錄在這裡吧
1、配置好AndroidManifest.xml中的渠道資訊,這裡以友盟統計為例吧
在<application> ... </application>節點中增加:
<meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}"></meta-data>
注意這裡,以往value中填寫的就是渠道的名字,比如豌豆莢就可以填寫wandoujia,但是在這裡用${UMENG_CHANNEL_VALUE}替代,可以理解為一個變數,下面會用到的;
2、在對應打包程式的module中的build.gradle:
裡面做如下修改:在android{ ... }裡面新增:
productFlavors{ wandoujia{} qihu360{} baidu{} xiaomi{} uc{} productFlavors.all{ flavor->flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name] } }
其中的wandoujia{}、qihu360{} ... ...這些就是需要的渠道名字,而這裡的UMENG_CHANNEL_VALUE就是對於我們在AndroidManifest.xml中配置渠道資訊的那個value,加好這些東西之後就構建一下項目:
成功後就下一步;
3、配置好gradle的環境變數,將gradle中的bin檔案路徑加入到path中;
4、那接下來如何簽名打包呢?選擇Build->Generate Signed APK...
然後填寫好籤名密碼之類的,然後可以看到這個:
全選Flavors那些選項,然後就finish。ok啦,在module的目錄下就可以看到簽完名的apk們,