Android多渠道打包の根據(jù)渠道來加載相應(yīng)的資源文件及Java代碼

Android多渠道打包の根據(jù)渠道來加載相應(yīng)的資源文件及Java代碼

方案需求

由于不同渠道,對(duì)項(xiàng)目會(huì)進(jìn)行一定的修改,比如圖片、文字等,所以需要根據(jù)渠道來加載相應(yīng)的資源文件,以達(dá)到顯示相應(yīng)渠道定制的app,同時(shí)不需要新建module方式進(jìn)行實(shí)現(xiàn)

根據(jù)渠道,定制資源

  • 配置渠道,在項(xiàng)目gradle中進(jìn)行渠道配置
productFlavors {    
      demo1 {        
            applicationId 'com.hehe.demo1'    
      }    
      demo2 {        
            applicationId 'com.hehe.demo2'    
      }
}
  • 新建文件夾,找到app\src\路徑,新建文件夾為剛剛配置的渠道名,即demo1 、demo2,注意文件夾名字必須和build.gradle里的渠道名對(duì)應(yīng),demo1 、demo2目錄與main目錄同級(jí)。


    新建渠道目錄.png
  • 添加需要替換的資源,在打包時(shí),如果資源的名稱與app\src\main目錄下res的資源一樣,則會(huì)進(jìn)行替換為當(dāng)前的同名資源


    添加需要替換的資源.png

比如我們現(xiàn)在替換app的logo圖片,及名稱

  • app\src\main 下的清單文件
<application
        android:name=".MyApplication"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>

                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>

    </application>

打包結(jié)果,能夠成功替換app的logo及名稱

結(jié)果.png
加載不同的Java代碼同理,就不在此說明了。。。
其他方法也可以實(shí)現(xiàn),如新建module,對(duì)應(yīng)渠道添加相應(yīng)的module依賴,也能實(shí)現(xiàn)該效果,不過module過多的話,會(huì)導(dǎo)致項(xiàng)目編譯速度變得慢。
  • 非常慢!
  • 非常非常慢?。?/li>
  • 非常非常非常慢?。。?/li>

Android自動(dòng)打包

這個(gè)可以結(jié)合我前面兩篇關(guān)于Android集成Jenkins實(shí)現(xiàn)自動(dòng)打包功能

參考

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,068評(píng)論 25 709
  • 這一章主要針對(duì)項(xiàng)目中可以用到的一些實(shí)用功能來介紹Android Gradle,比如如何隱藏我們的證書文件,降低風(fēng)險(xiǎn)...
    acc8226閱讀 7,969評(píng)論 3 25
  • 這個(gè)名字的由來,大抵是一年前,當(dāng)初剛從海院跑完步,走在嘉庚路的時(shí)候fumasterlin在微信上call我,說讓我...
    thibo閱讀 396評(píng)論 0 0
  • 我是Lem0,自學(xué)倡導(dǎo)者,執(zhí)迷于“不務(wù)正業(yè)”,被批評(píng)“旁門左道”。我注冊(cè)并使用簡(jiǎn)書,希望能夠記錄一些我記不住的事情...
    Lem0閱讀 4,966評(píng)論 5 11
  • 01 人總會(huì)在一段時(shí)間內(nèi),莫名的感覺到痛苦,就像佛學(xué)上所講的那樣,終生皆苦,雖然有時(shí)候你根本搞不清苦到底是什么,這...
    時(shí)間如夢(mèng)閱讀 897評(píng)論 1 5

友情鏈接更多精彩內(nèi)容