我正在使用Android Studio 1.5.1和Gradle实验插件0.4.0构建一个带有NDK库的应用程序。
即使Gradle配置是这样设置的(使用minSdkVersion.apiLevel = 18
),看起来NDK库仍然是为android-21
:编译的
compileOptions.with {
sourceCompatibility=JavaVersion.VERSION_1_7
targetCompatibility=JavaVersion.VERSION_1_7
}
android {
compileSdkVersion = 23
buildToolsVersion = "23.0.2"
defaultConfig.with {
applicationId = "net.pol_online.hyper"
minSdkVersion.apiLevel = 18 // Android 4.3 Jelly Bean
targetSdkVersion.apiLevel = 23 // Android 6.0 Marshmallow
}
}
是因为APP_PLATFORM
不是由Gradle NDK支持基于min SDK版本自动设置的吗?如果是,你该如何解决?
您可以设置:
android.ndk {
platformVersion = "19"
}
请参阅https://stackoverflow.com/a/33982735/3115956了解详细信息。(在实践中,我认为您的库是以android-23
为目标构建的,它与以android-21
为目标具有相同的效果——compileSdkVersion
是影响它的因素(对于java和本机代码,除非本机代码被重写)。