android - 针对 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)
解决方案
推荐阅读
- python - mlflow 不工作,也没有在 Windows 7 上的浏览器上生成 UI
- http - 如何将 https 链接更改为 http heroku
- javascript - 为什么文档有 getElementById 方法,即使它不是从 Element 继承的?
- css - 如何在 React Native(FlatList)中删除我的卡之间的间距?
- typescript - 当我在终端中执行纱线构建(它调用 tsc)时出现错误并且在终端中执行 tsc 时没有错误?
- image-processing - Mask RCNN 只预测几个类别中的一种类别
- ios - 解析 GraphQL failure() 导致 Swift
- ios - 如何创建返回 NSLayoutConstraint 的函数
- postgresql - 我可以为 Tilda 中的表添加索引以提高性能吗?
- jquery - 在 WP 中使用 jQuery 从外部源更新内容