Android Project Library 統一配置

# 實現:

  • 在 工程目錄下 新建 versions.gradle 文件
ext.dep = [:]
ext.build_versions = [:]
ext.application = [:]

def dep = [:]

def version = [:]

version.x_appcompat = "1.0.2"
version.x_recycler_view = "1.0.0"
version.junit = "4.12"
version.x_android_test_runner = "1.1.1"
version.x_android_test_espresso = "3.1.1"

dep.x_appcompat = "androidx.appcompat:appcompat:$version.x_appcompat"
dep.x_recycler_view = "androidx.recyclerview:recyclerview:$version.x_recycler_view"
dep.junit = "junit:junit:$version.junit"
dep.x_android_test_runner = "androidx.test:runner:$version.x_android_test_runner"
dep.x_android_test_espresso = "androidx.test.espresso:espresso-core:3.1.1"

dep.abortOnLintError = false
dep.checkLintRelease = false
dep.checkReleaseBuilds = false
dep.useJack = false
dep.abortOnLintError = false
dep.abortOnError = false

ext.dep = dep

def build_versions = [:]
build_versions.minSdkVersion = 21
build_versions.targetSdkVersion = 28
build_versions.compileSdkVersion = 28
build_versions.versionCode = 1
build_versions.versionName = "1.0.1"
build_versions.javaVersion = JavaVersion.VERSION_1_8
ext.build_versions = build_versions

def application = [:]
application.id = "xxxxx" // project id
ext.application = application
複製代碼
  • 在project/build.gradle 文件夾 加入 apply from: 'versions.gradle'
apply from: 'versions.gradle'
buildscript {
    repositories {
        google()
        jcenter()
        
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.4.0'
        
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}
複製代碼
  • 在 app/build.gradle library/build.gradle 文件設置
apply plugin: 'com.android.application'

android {

    def app = rootProject.ext.application
    def build_version = rootProject.ext.build_versions

    compileSdkVersion build_version.compileSdkVersion

    defaultConfig {
        applicationId app.id
        minSdkVersion build_version.minSdkVersion
        targetSdkVersion  build_version.targetSdkVersion
        versionCode build_version.versionCode
        versionName build_version.versionName
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    def dep = rootProject.ext.dep
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation dep.x_appcompat
    testImplementation dep.junit
    androidTestImplementation dep.x_android_test_runner
    androidTestImplementation dep.x_android_test_espresso
    implementation project(':recyclerviewlibrary')
}

複製代碼
相關文章
相關標籤/搜索