build.gradle 警告 'avoid using + in version numbers'
build.gradle warning 'avoid using + in version numbers'
这是我的 build.gradle
应用级文件。
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
buildToolsVersion "26.0.2"
defaultConfig {
applicationId "it.myco.app.myproj"
minSdkVersion 16
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:26.+'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
testCompile 'junit:junit:4.12'
}
Android Studio 突出显示行
compile 'com.android.support:appcompat-v7:26.+'
与消息
avoid using + in version numbers can lead to unpredictable and
unrepeatable builds
此行由 Android Studio 自动生成。为什么出现此警告消息?我需要写什么来解决警告?
替换为最新版本的库。通常 AS 会在你 alt + enter
警告时显示最新版本。
您可以使用
compile 'com.android.support:appcompat-v7:26.1.0'
不要在依赖版本中使用+。这意味着 Android studio 将使用最新的库,这可能会在将来引起问题。在 android studio 中,建议使用所有具有相同版本的 android 库,假设您正在使用 + 并且如果任何单个库得到更新,那么 android studio 将使用更新后的库,因此版本因为这个图书馆将会改变。这会导致构建应用程序出现问题。
这就是 gradle 发出此警告的原因。最好写完整的版本号而不是 +.
这是一个正常的警告。
你最好选择一个具体的版本,而不是那样做。这是因为如果您使用“+”,它会选择最新的,因此在新版本中,您可能会得到一些已弃用或意外的更改,这些更改会使您的应用程序死掉。认为如果你在一个巨大的项目中使用它,你将有很多依赖,所以它会是一个混乱的环境。
使用特定版本,如果有新版本...请手动更新。
要解决警告并选择最新版本,如果您使用的是Windows,请单击Alt+Enter,它将选择最新版本。
如果它不起作用,您将不得不在 Internet 上或在“项目结构”>“模块”>(您的模块)>“依赖项”> +
中搜索它
有一天,其他人可能会对您的代码执行 git pull
,然后尝试构建 apk。此 apk 可能有不同的行为,甚至出现构建错误或 运行 时间错误,因为依赖项版本可能与您创建此代码时使用的依赖项版本不同。
您应该使用显式依赖版本。我建议使用最新版本。您可以在 bintray jcenter 上搜索以查看最新版本。如果您使用的是 Android Studio,File -> Project Structure -> Modules -> (your module, app usually) -> Dependencies -> Add library dependency (click the + sign)
将为您提供最新版本,甚至会自动添加库。
Why this warning message?
在这里你可以找到关于这个话题的good blog。
动态版本为您的构建添加不确定性:
依赖项可能会意外地为您的应用引入行为更改。
相同的源建立在两个
不同的机器可以不同。
同样,在同一台机器上构建但是
在不同的时间可以不同。
过去的构建不能
完美再现。这使得很难安全地恢复。
- 有
如果不良行为者引入恶意软件,是否会产生安全隐患
依赖项的版本。
What I need to write to solve the warning ?
始终明确指定您的依赖项版本。
这是我的 build.gradle
应用级文件。
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
buildToolsVersion "26.0.2"
defaultConfig {
applicationId "it.myco.app.myproj"
minSdkVersion 16
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:26.+'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
testCompile 'junit:junit:4.12'
}
Android Studio 突出显示行
compile 'com.android.support:appcompat-v7:26.+'
与消息
avoid using + in version numbers can lead to unpredictable and unrepeatable builds
此行由 Android Studio 自动生成。为什么出现此警告消息?我需要写什么来解决警告?
替换为最新版本的库。通常 AS 会在你 alt + enter
警告时显示最新版本。
您可以使用
compile 'com.android.support:appcompat-v7:26.1.0'
不要在依赖版本中使用+。这意味着 Android studio 将使用最新的库,这可能会在将来引起问题。在 android studio 中,建议使用所有具有相同版本的 android 库,假设您正在使用 + 并且如果任何单个库得到更新,那么 android studio 将使用更新后的库,因此版本因为这个图书馆将会改变。这会导致构建应用程序出现问题。
这就是 gradle 发出此警告的原因。最好写完整的版本号而不是 +.
这是一个正常的警告。
你最好选择一个具体的版本,而不是那样做。这是因为如果您使用“+”,它会选择最新的,因此在新版本中,您可能会得到一些已弃用或意外的更改,这些更改会使您的应用程序死掉。认为如果你在一个巨大的项目中使用它,你将有很多依赖,所以它会是一个混乱的环境。
使用特定版本,如果有新版本...请手动更新。
要解决警告并选择最新版本,如果您使用的是Windows,请单击Alt+Enter,它将选择最新版本。
如果它不起作用,您将不得不在 Internet 上或在“项目结构”>“模块”>(您的模块)>“依赖项”> +
中搜索它有一天,其他人可能会对您的代码执行 git pull
,然后尝试构建 apk。此 apk 可能有不同的行为,甚至出现构建错误或 运行 时间错误,因为依赖项版本可能与您创建此代码时使用的依赖项版本不同。
您应该使用显式依赖版本。我建议使用最新版本。您可以在 bintray jcenter 上搜索以查看最新版本。如果您使用的是 Android Studio,File -> Project Structure -> Modules -> (your module, app usually) -> Dependencies -> Add library dependency (click the + sign)
将为您提供最新版本,甚至会自动添加库。
Why this warning message?
在这里你可以找到关于这个话题的good blog。
动态版本为您的构建添加不确定性:
依赖项可能会意外地为您的应用引入行为更改。
相同的源建立在两个 不同的机器可以不同。
同样,在同一台机器上构建但是 在不同的时间可以不同。
过去的构建不能 完美再现。这使得很难安全地恢复。
- 有 如果不良行为者引入恶意软件,是否会产生安全隐患 依赖项的版本。
What I need to write to solve the warning ?
始终明确指定您的依赖项版本。