android 不同渠道 添加不同依賴jar 使用不同代碼

android由於不同的渠道用到的依賴不同,比如個推sdk分谷歌市場版和國內版,要在同一個項目中根據渠道來分別加載兩個sdk。

1.將兩個jar包凡在src目錄下的lib文件夾中,並且在gradle文件將兩個jar包導入

在gradle中定義兩個渠道比如:

 productFlavors {
 
       
        //國內渠道
        official {
            ndk {
                abiFilters "armeabi-v7a", "arm64-v8a"
            }
        }

        //谷歌渠道 
        googleplay {
            ndk {
                abiFilters "armeabi-v7a", "arm64-v8a"
            }
        }
    }
dependencies {
    //這一行是默認將app根目錄下的libs文件夾的jar包引入

    //所以使用下面的方法,將兩個不同渠道的jar包放入其他lib文件夾中
    implementation fileTree(include: ['*.jar'], dir: 'libs')
  
 
    //導入的方式是渠道名加Compile,jar包的存放位置
    officialCompile files('src/main/lib/GetuiSDK2.13.3.0.jar')
    googleplayCompile files('src/main/lib/GetuiSDK4.3.8.0.jar')

}

2.因爲谷歌版的個推有個函數是國內版沒有的,所以代碼需要分別對應渠道。否則編譯打包會出錯。

谷歌版的這個函數在國內版是沒有的,這個函數在MainActivity中用到

PushManager.getInstance().setPrivacyPolicyStrategy(this, true)

3.在src目錄下分別新建兩個文件夾

並且存放於兩個渠道的代碼文件要對應main文件夾下的路徑

4.這樣就可以把main文件夾下的mainActivity代碼註釋了

5.編譯打包的時候會優先查找渠道目錄下的文件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章