Android 在何处存储gradle依赖项版本

Android 在何处存储gradle依赖项版本,android,gradle,properties,Android,Gradle,Properties,我在网上看到了两种不同的方式来存储android应用程序的gradle版本。一个是ext对象下的gradle.properties,另一个是根build.gradle文件。这两个模块都可以从所有其他模块访问。我只是想弄清楚每种方法和推荐使用的方法之间的区别,以及为什么 格雷德尔先生 ext { versionName = "1.10.10" androidGradleTools = "3.4.1" compileSdkVersion = 29 minSdkVers

我在网上看到了两种不同的方式来存储android应用程序的gradle版本。一个是ext对象下的
gradle.properties
,另一个是根
build.gradle
文件。这两个模块都可以从所有其他模块访问。我只是想弄清楚每种方法和推荐使用的方法之间的区别,以及为什么

格雷德尔先生

ext {
    versionName = "1.10.10"
    androidGradleTools = "3.4.1"
    compileSdkVersion = 29
    minSdkVersion = 23
    targetSdkVersion = 29
    versionCode = 2
    appCompat = "1.1.0-rc01"
    archCore = "2.0.1"
    material = "1.1.0-alpha09"
    kotlinVersion = "1.3.31"
    kotlinExtensions = "1.1.0-rc01"
    constraintLayout = "1.1.3"
    awsAuth = "2.7.4"
    coordinatorLayout = "1.1.0-beta01"
    eventBus = "3.1.1"
    jUnit = "4.13-beta-3"
    testRunner = "1.2.0"
    espressoCore = "3.2.0"
    annotation = "1.1.0"
    lifecycleViewModel = "2.2.0-alpha02"
    lifecycleExtensions = "2.2.0-alpha02"
    roomVersion = "2.1.0"
    retrofit = "2.6.0"
    okHttp3 = "4.0.0"
    firebaseCommon = "11.4.2"
    crashlytics = "2.10.1"
    slf4Android = "0.1.5"
    butterknife = "10.1.0"
    rabbitMQ = "4.11.1"
    picasso = "2.5.2"
    gson = "2.8.5"
    javaPusher = "1.8.2"
    androidVolley = "1.0.19"
    multidex = "2.0.0"
    googlePlayCore = "1.6.1"
    volley = "1.0.19"
    navController = "2.2.0-alpha01"
    kotlinCoroutines = "1.1.1"
    ktor_version = "1.2.3"
    asyncHttp = "1.4.9"
}
格拉德尔酒店

# Dependent library versions
android_google_gson_version=2.7
android_google_play_core_version=1.4.1
eventbus_version=3.0.0
squareup_retrofit2_version=2.1.0
squareup_ok_http_version=3.3.1
network_ok_http_logging_interceptor=3.3.1
aws_sdk_auth_core_version=2.7.4
fb_stetho_version=1.5.0
fb_sdk_version=4.37.0
picasso_lib_version=2.5.2
crashlytics_lib_version=2.9.4@aar
volley_lib_version=1.0.19
butterknife_lib_version=8.8.1
commons_io_lib_version=2.4
simbio_encryption_lib_version=1.2.0
anko_common_lib_version=0.8.3
slf_4_android_logger_version=0.1.5

我建议您将版本号存储在
ext{}
块中。它只是表示您定义的“额外属性”

为什么不使用gradle.properties? 如果我们看一下,我们可以看到gradle.properties应该是一个包含项目所需的更多“抽象”属性的文件。比如Java home或启用/禁用Gradles缓存。在Android中,我们还有
local.properties
文件,例如,它声明了Android Sdk的路径

因此,这些类型的属性在与声明依赖项不同的级别上处理项目

因此,我建议您使用ext块来声明依赖项版本