Gradle引用项目外代码,项目模块化,实现更细粒度的MiniModule

Gradle引用项目外代码,项目模块化,实现更细粒度的MiniModule

 

apply plugin: 'com.android.library'
apply plugin: 'maven'
def engine_modules = ['ParserEngineContract', 'BubbleEngine', 'CardParserEngine', 'CardRuleEngine']

android {
    compileSdkVersion config.compileSdkVersion
    buildToolsVersion config.buildToolsVersion

    defaultConfig {
        minSdkVersion config.minSdkVersion
        targetSdkVersion config.targetSdkVersion
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    sourceSets {
        main {
            engine_modules.each { module ->
                jniLibs.srcDir("$project.rootDir/Engines/$module/src/main/jniLibs")
                java.srcDir("$project.rootDir/Engines/$module/src/main/java")
                assets.srcDir("$project.rootDir/Engines/$module/src/main/assets")
            }
        }
        androidTest {
            engine_modules.each { module ->
                java.srcDirs("$project.rootDir/Engines/$module/src/androidTest/java")
            }
        }
    }
}
dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    testImplementation libraries.junit
    androidTestImplementation libraries.testrunner
}

转载于:https://my.oschina.net/sfshine/blog/1935719