Android Gradle 设置

标签 android gradle android-gradle-plugin

我对 gradle 版本控制设置非常困惑。我发现some information关于这个构建系统,但没有任何地方写过有关版本控制的详细信息。你能解释一下这些选项的含义吗?

compileSdkVersion
buildToolsVersion
minSdkVersion
targetSdkVersion

minSdkVersion 是最明显的,因为它意味着我们想要支持的最小 API,例如14(Android >= 4.0)。

targetSdkVersion:

This attribute informs the system that you have tested against the target version and the system should not enable any compatibility behaviors to maintain your app's forward-compatibility with the target version.

不太明白。

我的情况是支持 API 15 的设备。正确的设置是什么?
我在某处读到目标应该尽可能最高,Android Studio 也告诉我这一点,但是当我设置它并尝试在 Nexus 5 上运行时,我得到:

Failure [INSTALL_FAILED_OLDER_SDK]

我的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

关于Android Gradle 设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24972283/

相关文章:

Android - 如何在缩放后找到一个 Rect

java - Gradle:如何在 Android 构建中包含来自依赖 Java 项目的本地 jar?

android - NDK 解析结果 : Project settings: Gradle model version=5. 4.1,NDK 版本未知错误

android - Android Studio 3.1 “Run”无法编译代码

android - Gradle 从构建中删除资源文件

android - Windows 8.1 64 位上的 PhoneGap 使用 Platform add android 命令出现错误

android - 将现有列表转换为json/文本文件,以便向前读取该文件中的数据以生成列表

android - 有没有办法强制 "Display over other apps"Android 10 Go?

java - Fat Jar 与 Gradle 中应用程序包的优势

java - 使用 gradle/maven 工具运行最新的 Equinox