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.编译打包的时候会优先查找渠道目录下的文件

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