我对gradle的版本设置很困惑。我找到了一些关于这个构建系统的信息,但是没有关于版本控制细节的文章。你能解释一下这些选项是什么意思吗?
compileSdkVersion
buildToolsVersion
minSdkVersion
targetSdkVersion
minSdkVersion
是最明显的,因为它意味着我们想要支持的最小API,例如14 (Android>= 4.0)。
targetSdkVersion
:
此属性告知系统你已经针对目标版本进行了测试,系统不应该启用任何兼容性行为来维持你的应用程序与目标版本的前向兼容性。
我不太明白。
我的情况是支持API 15的设备。合适的设置是什么?我在某个地方读到目标应该尽可能高,Android Studio也告诉我,但当我设置这个并尝试在Nexus 5上运行时,我得到:
Failure [INSTALL_FAILED_OLDER_SDK]
My build.gradle
android {
compileSdkVersion 'android-L'
buildToolsVersion "20.0.0"
defaultConfig {
applicationId "my.package.name"
minSdkVersion 14
targetSdkVersion 'L'
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
根据官方文件:http://developer.android.com/preview/setup-sdk.html#createProject如果您想尝试新功能,您应该使用这些值:
compileSdkVersion is set to 'android-L'
minSdkVersion is set to 'L'
targetSdkVersion is set to 'L'
这是失败的原因[INSTALL_FAILED_OLDER_SDK].
如果你不需要android-L,我建议使用这些值:
defaultConfig {
applicationId "my.package.name"
minSdkVersion 14
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
说,这里有一个非官方的解决方法(在任何情况下我建议你不要使用它)
Failure [INSTALL_FAILED_OLDER_SDK] Android-L