关于多渠道打包依赖不同sdk的方式

最近公司做的应用需要适配不同的项目,但是我们每一个项目都有一个写用户中心的同事,这就需要我的应用要适配所有项目中不同同事写的用户中心sdk。这样只能用到flavors来完成了。

以下是demo下的代码 不能透漏公司的代码嘛毕竟

 flavorDimensions "program"
    productFlavors{
        mytest {
            dimension "program"
            buildConfigField("String","name","\"test1\"")
        }
        youtest {
            dimension "program"
            buildConfigField("String","name","\"test2\"")
        }
    }


    repositories {
        flatDir{
            dirs 'libs'
        }
    }
    sourceSets{
        main{
            jniLibs.srcDirs = ['libs']
        }
        mytest {
            java {
                srcDirs 'src\\mytest\\java'
            }

//            res{
//                srcDirs 'src\\mytest\\res'
//            }
        }
        youtest {
            java {
                srcDirs 'src\\youtest\\java'
            }
        }

    }

dependencies {
//    implementation fileTree(dir: "libs", include: ['*.jar', '*.aar'])
    implementation 'androidx.appcompat:appcompat:1.3.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test.ext:junit:1.1.2'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
    //noinspection GradleCompatible
    implementation 'com.android.support:recyclerview-v7:27.1.1'
    mytestImplementation files('libs/libaccount-c490-0.7.jar') //这里就是使用mytest项目打包的时候使用到的sdk
    youtestImplementation(name:'libaccount-wt30r-20210412',ext:'aar') //这里就是使用youtest项目打包的时候使用到的sdk


}


在工程里 大概是这个样子滴

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