这是我的private void scrollview_SizeChanged(object sender, SizeChangedEventArgs e)
{
image.Width = scrollview.ViewportWidth;
image.Height = scrollview.ViewportHeight;
}
应用级文件。
build.gradle
Android Studio突出显示该行
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自动生成。为何会出现此警告信息我需要写什么来解决警告?
答案 0 :(得分:6)
有一天,其他人可能会对您的代码执行git pull
,然后尝试构建apk。这个apk可能有不同的行为,甚至会出现构建错误或运行时错误,因为依赖项版本可能与创建此代码时使用的依赖项不同。
您应该使用显式依赖项版本。我建议使用最新版本。您可以在bintray jcenter上搜索以查看最新版本。如果您使用的是Android Studio,File -> Project Structure -> Modules -> (your module, app usually) -> Dependencies -> Add library dependency (click the + sign)
会为您提供最新版本,甚至会自动添加库。
答案 1 :(得分:1)
将其替换为最新版本的库。当alt + enter
发出警告时,通常AS会显示最新版本。
答案 2 :(得分:1)
您可以使用类似
的内容compile 'com.android.support:appcompat-v7:26.1.0'
答案 3 :(得分:1)
不要在依赖版本中使用+。这意味着Android工作室将使用最新的库,这可能会在未来引起问题。在android studio中,建议使用相同版本的所有android库,假设您正在使用+,如果任何单个库得到更新,那么android studio将使用该更新的库,因此该库的版本将会更改。这会导致构建应用程序的问题。
这就是为什么gradle给出这个警告。最佳做法是编写完整版本号而不是+。
答案 4 :(得分:1)
这是一个正常的警告。
选择具体版本比选择那样更好。这是因为如果您使用“+”它将选择最新的,所以在新版本中,您可能会得到一些不赞成或意外的更改,这将使您的应用程序死亡。认为如果你在一个巨大的项目中使用它,你会有很多依赖,所以这将是一个混乱的环境。
使用特定版本,如果有新版本,请手动更新。
要解决警告并选择最新版本,如果您使用的是Windows,请单击Alt + Enter,它将选择最新版本。
如果它不起作用,您将不得不在互联网或项目结构中搜索它>模块>(您的模块)>依赖性> +
答案 5 :(得分:1)
为什么会出现此警告信息?
在这里,您可以找到关于此主题的good blog。
动态版本为您的构建添加了不确定性:
依赖关系可能会意外地将行为更改引入您的应用。
相同的源码基于两个 不同的机器可以不同。
同样,构建在同一台机器上但是 在不同的时间可以有所不同
过去的版本不可以 完美再现。这使得难以安全地恢复。
我需要写什么来解决警告?
始终明确指定您的依赖项版本。