def isBuildModule = rootProject.ext.module.isBuildModule if (Boolean.valueOf(isBuildModule)) { apply plugin: 'com.android.application' } else { apply plugin: 'com.android.library' } apply plugin: 'org.jetbrains.kotlin.android' apply plugin: 'kotlin-kapt' android { compileSdk rootProject.ext.android.compileSdkVersion defaultConfig { minSdk rootProject.ext.android.minSdkVersion targetSdk rootProject.ext.android.targetSdkVersion ndk { abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64' } javaCompileOptions { annotationProcessorOptions { arguments += [ "room.schemaLocation":"$projectDir/schemas".toString(), "room.incremental":"true", "room.expandProjection":"true", AROUTER_MODULE_NAME: project.getName() ] } } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = JavaVersion.VERSION_1_8.toString() } buildFeatures { viewBinding true } sourceSets { main { if (Boolean.valueOf(isBuildModule)) { manifest.srcFile 'src/main/module/AndroidManifest.xml' } else { manifest.srcFile 'src/main/AndroidManifest.xml' java { //排除java/debug文件夹下的所有文件 exclude '*module' } } } } } kapt { arguments { arg("AROUTER_MODULE_NAME", project.getName()) } generateStubs = true useBuildCache = true javacOptions { option("-Xmaxerrs", 500) } } dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') implementation project(":common:common-base") implementation 'tv.danmaku.ijk.media:ijkplayer-java:0.8.8' kapt rootProject.ext.compiler["arouterCompiler"] }