Android Studio多渠道打包

來源:互聯網
上載者:User

Android Studio多渠道打包
我們開發一個APP在上傳應用市場之前,有時候會遇到要根據不同平台打多個apk包的問題。由於Android的應用市場比較多,主流的應用市場就有應用寶,百度手機小幫手,豌豆莢等等,還不包括其他的。一個一個打包非常麻煩,但通常打多個包主要是因為有的應用市場平台對引導頁有特殊要求,或者第二屏廣告頁要加上他們的logo(申請應用市場首發的時候)所以多渠道打包是必須要做的一個任務,今天我就來講一下我學習和實現多渠道打包的過程。1.首先建立一個小工程,並且建立一個類“TheSecondActivty(第二屏廣告頁)”和它的布局檔案“activity_second”,然後開啟資訊清單檔,加上一個“meta-data”,如

其中的“XIAO_GUIDANCE”就是我們後面要在代碼中用來判斷的一個依據,而“XIAO_GUIDANCE_VALUE”在下面的build.gradle檔案中要用到。如果還有其他渠道的引導頁要單獨設定的話就新增一個類似的met-data即可;2.開啟app下面的build.gradle檔案,注意是圖中選中的這個,而不是底部的那個:開啟之後,在這個設定檔中添加下面這兩段代碼,舉例如:productFlavors {

渠道名稱 {}
}
productFlavors.all {
flavor -> flavor.manifestPlaceholders = [資訊清單檔中的meta-data設定的value名稱: name]
}3.開啟第二屏廣告頁的類,通過ApplicationInfo擷取到這個meta-data,通過判斷meta-data是否包含“xiaomi”,這裡的“xiaomi”也就對應上面的渠道名稱,然後設定第二屏廣告頁的顯示圖片。具體代碼如下,非常的簡單:
try {    ApplicationInfo appInfo = this.getPackageManager().getApplicationInfo(getPackageName(),            PackageManager.GET_META_DATA);    String reStr = appInfo.metaData.getString("XIAOMI_GUIDANCE");    if(reStr.equals("xiaomi")) {        rlBackground.setBackgroundResource(R.drawable.guidance_xiaomi);    } else {        rlBackground.setBackgroundResource(R.drawable.guidance);    }} catch (PackageManager.NameNotFoundException e) {    e.printStackTrace();}
4.代碼寫完之後就可以打包了,簡單的打包過程我之前的部落格有提到,所以這裡就不說了,直接,如所示在Flavors一欄中出現了兩個選項,也就是我們在build.gradle裡面加的渠道:打包完成後,工程中會出現如所示的兩個Apk:5.最後,檢驗運行,查看圖片顯示,到這裡,我們的多渠道打包就算實現了。左邊是小米的(有logo),右邊是應用寶的(沒有logo):

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.