jack编译的代码最低SDK版本是多少才能运行好上?

What is the minimum SDK version jack compiled code can run well on?

如果我使用 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 上是否会出现任何奇怪的行为或问题?

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

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