build.gradle警告'避免在版本号中使用+'
这是我的build.gradle
应用程序级文件。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.+'
可能导致不可预测和 绝后构建
此行是由Android Stu自动生成的DIO。为什么这个警告信息?我需要写什么来解决警告?
有一天,别人可能对你的代码做一个git pull
然后尝试构建一个apk。这个apk可能会有不同的行为,甚至可能会出现构建错误或运行时错误,因为依赖项版本可能与创建此代码时使用的依赖项不同。
您应该使用显式依赖版本。我建议使用最新版本。您可以在bintray jcenter上搜索以查看最新版本。如果您使用Android Studio,File -> Project Structure -> Modules -> (your module, app usually) -> Dependencies -> Add library dependency (click the + sign)
会为您提供最新版本,甚至可以自动添加库。
这个答案给出了一个具体的场景来解释发生了什么问题。然后进一步展示如何获得最新的依赖关系。我只是做了一些小改动来改善措辞。 –
@RickMajpruz谢谢,对不起我的英文不好:) – BaiJiFeiLong
我不清楚如何导航到'Dependencies - > Add library dependency'。大概我应该提出“项目结构”选项卡,但那又如何?我没有看到顶部的菜单条目,我尝试右键单击,但在右键菜单中看不到“Dependencies”。也许这应该是一个单独的问题。我正在使用Android Studio 2.3.3。 –
您可以使用类似
compile 'com.android.support:appcompat-v7:26.1.0'
不要依赖版本使用+。这意味着Android工作室将使用最新的库,这可能会导致未来的问题。在android工作室,建议使用所有的android库相同的版本,假设你使用+,如果任何单个库得到更新,然后android studio将使用该更新的库,所以这个库的版本将会改变。导致建立应用程序的问题。
这就是为什么gradle给这个警告。编写完整版本号码而不是+号码是最好的做法。
这是一个正常的警告。
最好你选择一个具体的版本比去那种方式。这是因为如果你使用“+”,它会选择最新版本,所以在新版本中,你可能会得到一些不赞成或意想不到的更改,这些更改会让你的应用死掉。想想如果你在一个巨大的项目中使用它,你将会有很多的依赖关系,所以它会是一个混乱的环境。
使用特定版本,如果有新版本,请手动更新。
要解决警告并选择最新版本,如果您使用的是Windows,请单击Alt + Enter,然后选择最新版本。
如果不工作,你将不得不寻找它在互联网上或在项目结构>模块>(你的模块)>相关性> +
[如何避免在SQLiteAssetHelper中使用版本号+的可能重复](https://stackoverflow.com/questions/39710042/how-to-avoid-using-in-version-number-with-sqliteassethelper) – jdv