3

如果我使用jack & jill工具链构建我的 android 项目,我可以将最低 SDK 版本设置得相当低。当我通过以下方式启用插孔时:

android {

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    defaultConfig {

        jackOptions {
            enabled true
        }
    }
}

我可以将最小 sdk 设置为:

minSdkVersion 9

任何更低的东西,我都会收到错误消息:

uses-sdk:minSdkVersion 7 cannot be smaller than version 9 declared in library [com.google.android.gms:play-services-location:7.8.0] {project_folder}/build/intermediates/exploded-aar/com.google.android.gms/play-services-location/7.8.0/AndroidManifest.xml
Suggestion: use tools:overrideLibrary="com.google.android.gms.location" to force usage

我不想走那么低。我只是好奇在 14 到 23 的 sdk 范围内是否存在任何可能来自使用 jack 编译器的陷阱。假设目标为 25,最小为 14。

在旧版本的 android 上是否会出现任何奇怪的行为或问题?

4

1 回答 1

3

Jack 只编译代码。它不关心你的 minSdk 是什么,这与使用 android API 等更相关。

将 minSdk 设置为低于 9 时出现错误的原因是因为 google play 服务要求它为 9 或更高。如果您删除播放服务依赖项,它应该可以工作。也见这里

于 2016-10-24T21:42:21.287 回答