我有一个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)