首页 > 解决方案 > 针对 Kotlin JVM 项目的最低 Android API 级别

问题描述

我有一个 Kotlin 库,我为它开发并在服务器应用程序(JRE 8)中使用,但现在我需要在具有特定 minSdkVersion 的 android 应用程序上使用它,假设 minSdkVersion:15。如何确保我的库兼容?是否有任何编译器选项可以设置以确保 Android 合规性?我的库是用 Maven 构建的,目前我已经设置了一些属性:

<properties>
<kotlin.version>1.2.71</kotlin.version>
<maven.compiler>3.5.1</maven.compiler>
<kotlin.compiler.jvmTarget>1.6</kotlin.compiler.jvmTarget>
<maven-compiler-plugin.source>1.7</maven-compiler-plugin.source>
<maven-compiler-plugin.target>1.7</maven-compiler-plugin.target>
</properties>

但我确定这是否足够?

更新:即使将 maven 目标设置为 1.7,我也会在 Android API 级别 21 上收到错误:

java.lang.NoSuchMethodError: No virtual method asPredicate()Ljava/util/function/Predicate; in class Ljava/util/regex/Pattern; or its super classes (declaration of 'java.util.regex.Pattern' appears in /system/framework/core-libart.jar)

标签: androidintellij-ideakotlin

解决方案


推荐阅读