Android 构建配置文件(config.gradle)

1、新建config.gradle

在自己的项目根目录下一个文件夹下创建一个config.gradle文件名的文件(和settings.gradble同目录),把自己需要用到的库跟版本号写在dependencies 标签括号内

ext {
    android = [
            compileSdkVersion   : 31,
            buildToolsVersion   : '31.0.0',
            applicationId       : 'com.jinfeng.gongshigonggao',
            minSdkVersion       : 24,
            targetSdkVersion    : 31,
            versionCode         : 1,
            versionName         : '1.0',
            defaultPublishConfig: 'release',
            publishNonDefault   : true
    ]
    androidxVersion = [
            appcompat         : "1.2.0",
            recycleviewVersion: "1.0.0",
            annotations       : "1.1.0"
    ]

    version = [
            androidSupportSdkVersion: "29.0.0",
            retrofitSdkVersion      : "2.9.0",
            dagger2SdkVersion       : "2.19",
            glideSdkVersion         : "4.14.2",
            fragmentationVersion    : "1.0.0",
            butterknifeSdkVersion   : "10.0.0",
            baseRecycleViewVersion  : "2.9.34",
            rxlifecycleSdkVersion   : "1.0",
            rxlifecycle2SdkVersion  : "2.2.2",
            espressoSdkVersion      : "3.0.1",
            canarySdkVersion        : "1.5.4",
            arouterSDk              : "1.4.1",
            arouterCompilerSdk      : "1.2.2",
            roomVersion             : "1.1.1",
            okhttp3Version          : "4.10.0"
            navVersion              : "2.1.0"
    ]

    dependencies = [
            //support
            "design"                   : "com.android.support:design:${version["androidSupportSdkVersion"]}",
            "appcompat"                : "androidx.appcompat:appcompat:${androidxVersion["appcompat"]}",
            "material"                 : "com.google.android.material:material:1.3.0",
            "constraintlayout"         : "androidx.constraintlayout:constraintlayout:2.0.4",
            "junit"                    : "junit:junit:4.12",
            "testJunit"                : "androidx.test.ext:junit:1.1.2",
            "testEspresso"             : "androidx.test.espresso:espresso-core:3.3.0",

            //network
            "retrofit"                  : "com.squareup.retrofit2:retrofit:${version["retrofitSdkVersion"]}",
            "retrofitConverterGson"     : "com.squareup.retrofit2:converter-gson:${version["retrofitSdkVersion"]}",
            "retrofitAdapterRxjava"     : "com.squareup.retrofit2:adapter-rxjava:${version["retrofitSdkVersion"]}",
            "retrofitAdapterRxjava2"    : "com.squareup.retrofit2:adapter-rxjava2:${version["retrofitSdkVersion"]}",

            "okhttp3"                   : "com.squareup.okhttp3:okhttp:${version["okhttp3Version"]}",
            "okhttp3LoggingInterceptor" : "com.squareup.okhttp3:logging-interceptor:${version["okhttp3Version"]}",
            "okhttpUrlconnection"       : "com.squareup.okhttp:okhttp-urlconnection:2.0.0",

            //rx2
            "rxjava2"                  : "io.reactivex.rxjava2:rxjava:2.2.4",
            "rxandroid2"               : "io.reactivex.rxjava2:rxandroid:2.1.0",

            //rx1
            "rxjava"                   : "io.reactivex:rxjava:1.3.0",
            "rxandroid"                : "io.reactivex:rxandroid:1.2.1",

            //Room
            "roomRuntime"              : "android.arch.persistence.room:runtime:${version["roomVersion"]}",
            "roomCompiler"             : "android.arch.persistence.room:compiler:${version["roomVersion"]}",
            "roomRxjava2"              : "android.arch.persistence.room:rxjava2:${version["roomVersion"]}",

            //Glide
            "glide"                    : "com.github.bumptech.glide:glide:${version["glideSdkVersion"]}",
            "glideCompiler"            : "com.github.bumptech.glide:compiler:${version["glideSdkVersion"]}",
            "glideAnnotations"         : "com.android.support:support-annotations:28.0.0",

            //view
            "autolayout"               : "com.zhy:autolayout:1.4.5",
            "butterknife"              : "com.jakewharton:butterknife:${version["butterknifeSdkVersion"]}",
            "butterknifeCompiler"      : "com.jakewharton:butterknife-compiler:${version["butterknifeSdkVersion"]}",
            "recyclerview"             : "androidx.recyclerview:recyclerview:${androidxVersion["recycleviewVersion"]}",

            "qmui"                     : "com.qmuiteam:qmui:2.0.0-alpha08",
            "qmuiteamArch"             : "com.qmuiteam:arch:2.0.0-alpha08",
            "bottomnavigationviewex"   : "com.github.ittianyu:BottomNavigationViewEx:2.0.2",
            "banner"                   : "com.youth.banner:banner:2.0.10",
            "magicindicator"           : "com.github.hackware1993:MagicIndicator:1.5.0",
            "sneaker"                  : "com.irozon.sneaker:sneaker:2.0.0",
            "imagePicker"              : "com.cysion:ImagePicker:1.0.7.x",
            "ninegridview"             : "com.lzy.widget:ninegridview:0.2.0",
            "pickView"                 : "com.contrarywind:Android-PickerView:4.1.8",
            "dialogsMaterial"          : "com.afollestad.material-dialogs:core:3.1.0",
            "dialogsPlus"              : "com.orhanobut:dialogplus:1.11@aar",
            "flowLayou"                : "com.hyman:flowlayout-lib:1.1.2",

            "rxlifecycle"              : "com.trello:rxlifecycle:${version["rxlifecycleSdkVersion"]}",
            "rxlifecycleComponents"    : "com.trello:rxlifecycle-components:${version["rxlifecycleSdkVersion"]}",
            "rxcache"                  : "com.github.VictorAlbertos.RxCache:runtime:1.7.0-1.x",
            "rxcacheJolyglotGson"      : "com.github.VictorAlbertos.Jolyglot:gson:0.0.4",
            "rxpermissions"            : "com.tbruyelle.rxpermissions:rxpermissions:0.9.4@aar",
            "rxpermissions2"           : "com.github.tbruyelle:rxpermissions:0.11",

            //fragment
            "fragmentation"            : "me.yokeyword:fragmentationx:${version["fragmentationVersion"]}",
            "fragmentationCode"        : "me.yokeyword:fragmentationx-core:${version["fragmentationVersion"]}",
            "fragmentationSwipeback"   : "me.yokeyword:fragmentationx-swipeback:${version["fragmentationVersion"]}",

            "rxlifecycle2"             : "com.trello.rxlifecycle2:rxlifecycle:${version["rxlifecycle2SdkVersion"]}",
            "rxlifecycle2Android"      : "com.trello.rxlifecycle2:rxlifecycle-android:${version["rxlifecycle2SdkVersion"]}",
            "rxlifecycle2Components"   : "com.trello.rxlifecycle2:rxlifecycle-components:${version["rxlifecycle2SdkVersion"]}",
            "rxcache2"                 : "com.github.VictorAlbertos.RxCache:runtime:1.8.3-2.x",
            "rxerrorhandler2"          : "me.jessyan:rxerrorhandler:2.1.1",

            //tools
            "dagger2"                  : "com.google.dagger:dagger:${version["dagger2SdkVersion"]}",
            "dagger2Android"           : "com.google.dagger:dagger-android:${version["dagger2SdkVersion"]}",
            "dagger2AndroidSupport"    : "com.google.dagger:dagger-android-support:${version["dagger2SdkVersion"]}",
            "dagger2Compiler"          : "com.google.dagger:dagger-compiler:${version["dagger2SdkVersion"]}",
            "dagger2AndroidProcessor"  : "com.google.dagger:dagger-android-processor:${version["dagger2SdkVersion"]}",
            "androideventbus"          : "org.simple:androideventbus:1.0.5.1",
            "liveEventBus"             : "io.github.jeremyliao:live-event-bus-x:1.8.0",
            "eventbus"                 : "org.greenrobot:eventbus:3.1.1",

            //加载webview
            "agentWebCore"             : "com.github.Justson.AgentWeb:agentweb-core:v5.0.6-androidx",
            "agentWebFilechooser"      : "com.github.Justson.AgentWeb:agentweb-filechooser:v5.0.6-androidx",
            "agentWebDownloader"       :"com.github.Justson:Downloader:v5.0.4-androidx",

            //Gson
            "gson"                     : "com.google.code.gson:gson:2.8.5",
            //
            "multidex"                 : "com.android.support:multidex:1.0.3",
            "annotationJsr250"         : "javax.annotation:jsr250-api:1.0",
            //PDF
            "pdfView"                  : "com.github.mhiew:android-pdf-viewer:3.2.0-beta.1",
            //app升级
            "updateApp"                : "com.qianwen:update-app:3.5.2",
            //悬浮窗
            "floatingView"             : "com.imuxuan:floatingview:1.6",
            "immersionbar"             : "com.geyifeng.immersionbar:immersionbar:3.2.2",
            "autosize"                 : "me.jessyan:autosize:1.1.1",
            "androidAutoSize"          : "com.github.JessYanCoding:AndroidAutoSize:v1.2.1",
            //极光推送
            "jpush"                    : "cn.jiguang.sdk:jpush:3.3.4",
            "jcore"                    : "cn.jiguang.sdk:jcore:2.1.2",
            "greendao"                 : "org.greenrobot:greendao:3.2.2",
            //环信
            "j256"                     : "com.j256.ormlite:ormlite-android:5.0",
            "googleGms"                : "com.google.android.gms:play-services-base:11.4.0",
            "googleFirebase"           : "com.google.firebase:firebase-messaging:11.4.0",
            "parse"                    : "com.parse:parse-android:1.13.1",
            "hxSdk"                    : "com.hyphenate:hyphenate-sdk:3.6.1",
            "zbar"                     : 'cn.bingoogolapple:bga-qrcode-zbar:1.3.6',

            "baseRecyclerViewAdapter"   : "com.github.CymChad:BaseRecyclerViewAdapterHelper:${version["baseRecycleViewVersion"]}",
            "smartrefreshlayout"        : "com.scwang.smartrefresh:SmartRefreshLayout:1.1.0-andx-4",
            //ARoute
            "arouter"                   : "com.alibaba:arouter-api:${version["arouterSDk"]}",
            "arouterCompiler"           : "com.alibaba:arouter-compiler:${version["arouterCompilerSdk"]}",
            //工具类
            "utilcode"                  : "com.blankj:utilcodex:1.31.1",
            //播放视频
            "GSYVideoPlayer"            : "com.github.CarGuo.GSYVideoPlayer:GSYVideoPlayer:v8.3.4-release-jitpack",
            //test
            "timber"                    : "com.jakewharton.timber:timber:4.7.1",
            "canaryDebug"               : "com.squareup.leakcanary:leakcanary-android:${version["canarySdkVersion"]}",
            "canaryRelease"             : "com.squareup.leakcanary:leakcanary-android-no-op:${version["canarySdkVersion"]}",
            "mmkv"                      : "com.tencent:mmkv:1.2.15",

    //navigation Java
             "navigationFragment"    : "androidx.navigation:navigation-fragment:${version["navVersion"]}",
              "navigationUI"         : "androidx.navigation:navigation-ui:${version["navVersion"]}",

      //navigation Kotlin
              "navigationFragmentKt"    : "androidx.navigation:navigation-fragment-ktx:${version["navVersion"]}",
              "navigationUIKt"            : "androidx.navigation:navigation-ui-ktx:${version["navVersion"]}"
    ]
}

2、在项目的根目录的build.gradle中写入配置信息

apply from: "config.gradle"

3、在项目的build.gradle 中写入配置信息

plugins {
    id 'com.android.application'
}

android {
    compileSdk rootProject.ext.android.compileSdkVersion

    defaultConfig {
        applicationId   rootProject.ext.android.applicationId
        minSdk          rootProject.ext.android.minSdkVersion
        targetSdk       rootProject.ext.android.compileSdkVersion
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    dataBinding {
        enabled = true
    }

    //配置自定义打包名称
    applicationVariants.all { variant ->
        variant.outputs.all {
            def fileName
            if (variant.buildType.name.equals('release')) {
                fileName = "GongShi_${variant.mergedFlavor.versionName}_${variant.mergedFlavor.versionCode}.apk"
            } else if (variant.buildType.name.equals('debug')) {
                fileName = "GongShi_${variant.mergedFlavor.versionName}_debug_${variant.mergedFlavor.versionCode}.apk"
            }
            outputFileName = fileName
        }
    }
}

dependencies {

    implementation rootProject.ext.dependencies.appcompat
    implementation rootProject.ext.dependencies.material
    implementation rootProject.ext.dependencies.constraintlayout
    testImplementation rootProject.ext.dependencies.junit
    androidTestImplementation rootProject.ext.dependencies.testJunit
    androidTestImplementation rootProject.ext.dependencies.testEspresso

    implementation rootProject.ext.dependencies.rxjava2
    implementation rootProject.ext.dependencies.rxandroid2

    implementation rootProject.ext.dependencies.retrofit
    implementation rootProject.ext.dependencies.retrofitConverterGson
    implementation rootProject.ext.dependencies.retrofitAdapterRxjava2

    implementation rootProject.ext.dependencies.okhttp3
    implementation rootProject.ext.dependencies.okhttp3LoggingInterceptor

    implementation rootProject.ext.dependencies.pdfView
    implementation rootProject.ext.dependencies.rxpermissions2

    implementation rootProject.ext.dependencies.roomRuntime
    implementation rootProject.ext.dependencies.roomCompiler
    implementation rootProject.ext.dependencies.roomRxjava2

    implementation rootProject.ext.dependencies.glide
    implementation rootProject.ext.dependencies.updateApp

    implementation rootProject.ext.dependencies.floatingView

    implementation rootProject.ext.dependencies.immersionbar

    implementation rootProject.ext.dependencies.androidAutoSize

    implementation rootProject.ext.dependencies.baseRecyclerViewAdapter

    implementation rootProject.ext.dependencies.GSYVideoPlayer

}

最后重构这个项目即可。

参考于:

https://blog.csdn.net/qq_41326257/article/details/108099424

https://blog.csdn.net/songdongpanCSDN/article/details/79629568

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值