什么是最小的SDK版本插孔编译代码可以运行良好?

时间:2016-10-24 21:30:53

标签: android android-jack-and-jill

如果我使用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

我不想那么低。我很好奇,如果使用jack编译器可能会产生从14到23的sdks范围内的任何陷阱。比如目标为25,最小值为14。

在旧版Android上会出现任何奇怪的行为或问题吗?

1 个答案:

答案 0 :(得分:3)

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

将minSdk设置为低于9时出现错误的原因是因为Google Play服务要求它为9或更高。如果删除播放服务依赖项,它应该工作。另请参阅here