Android 多渠道打包如何修改app name,icon?

搞過多渠道打包的都知道,我們只需要在 module 的build.gradle中配置相應(yīng)的渠道號就行:

                productFlavor{
                          baidu {
                          }
                        xiaomi{}
                         wandoujia{}
                    }

像這樣,就可以了,然后將友盟的chanelvalue修改下就可以了,需要不同的渠道,配置不同的applicationid,也不是什么難事。不過今天我遇到的需求是,不同的渠道配置不同的appname和icon。一開始我想著用之前的哪種方法應(yīng)該可行,然后就試了下,一試不知道,試過就蛋疼了,appname是可以換掉,但是icon呢,,咋整,,,找了一圈方法,都木有找到,郁悶,string類型的,都可以通過常用的那種替換占位符的方式來改,或者是resValue(這個沒有試,,但是似乎是可以的)。然后各種搜資料,有什么設(shè)置 useOldManifestMerger false ,不過自己沒試成功(不能怪我,理論是這個道理的,只不過gradle版本不一樣,Google升級了,導(dǎo)致我懵逼了)偶然間Google了一下 how to change app icon for diffrent productFlavors in android,點(diǎn)開第一個鏈接,然后答主的答案給了我一些啟發(fā):

QQ截圖20160811184619.png

然后搜啊搜,又找到了這個

QQ截圖20160811185123.png

然后經(jīng)過自己的摸索,搞了出來了,簡單來說:
大家看第一張圖你的目錄結(jié)構(gòu)就會發(fā)現(xiàn),如果我們在src/main/文件夾下新建以我們?nèi)デ烂麨槊?,目錄結(jié)構(gòu)和main一樣的文件目錄,當(dāng)我們打包的時候就會讀取這里面的資源文件,所以呢,我就新建了個清單文件,將頭部換成圖二所示,在根目錄添加

              xmlns:tools="http://schemas.android.com/tools"

然后application

      tools:replace="android:icon" 
      android:icon="@drawable/icon_all"

替換你需要換的icon就行,ok,至此搞定,至于為什么這么搞,我看到了官方的一篇文章清單合并,另外還有篇國內(nèi)譯文

剩下的就靠小伙伴么自己摸索了。。。。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,264評論 25 708
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,923評論 18 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,951評論 6 342
  • 最近在項目中遇到需要實(shí)現(xiàn) Apk 多渠道、定制化打包, Google 、百度查找了一些資料,成功實(shí)現(xiàn)了上述功能,在...
    看一季殘花落幕閱讀 2,531評論 1 8
  • 我求這永恒的時間,讓我再看你一眼。 不為眷戀,只為記住你的容顏。 你在我眼中生根發(fā)芽, 你柔軟的背影開出了一樹一樹...
    衣角都輝榮閱讀 205評論 0 1