模块错误“模块是使用不兼容的 Kotlin 版本编译的。其元数据的二进制版本是 1.5.1,预期版本是 1.1.16”

2024-04-01

我正在为我们的项目编写一个 kotlin 库。完成后,我构建了一个 .aar 文件并将其发送给团队。但他们有一个错误"Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.16" (当时库的 core-ktx 版本是 1.3.2,kotlin-gradle-plugin 版本是 1.5.0).

我对此进行了研究并找到了这个线程。“模块是用不兼容的 Kotlin 版本编译的。其元数据的二进制版本是 1.5.1,预期版本是 1.1.16” https://stackoverflow.com/questions/67448034/module-was-compiled-with-an-incompatible-version-of-kotlin-the-binary-version

我在这里尝试了给出的解决方案,但到目前为止这些都不起作用。每当我低于 kotlin-gradle-plugin 1.5 版本时,我都会看到类似的错误Runtime JAR files in the classpath have the version 1.4, which is older than the API version 1.5?

我在这里分享 gradle 文件。

构建.gradle(项目):

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:4.2.2'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.0"
//        classpath 'com.google.gms:google-services:4.3.10'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

构建.gradle(:应用程序):

plugins {
    id 'com.android.application'
    id 'kotlin-android'
//    id 'com.google.gms.google-services'
}

android {
    compileSdk 30

    defaultConfig {
        applicationId "com.neco.myDemoProject"
        minSdk 21
        targetSdk 30
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    kotlinOptions {
        jvmTarget = '1.8'
    }
}

dependencies {

    implementation 'androidx.core:core-ktx:1.5.0'
    implementation 'androidx.appcompat:appcompat:1.3.1'
    implementation 'com.google.android.material:material:1.4.0'
    implementation 'androidx.annotation:annotation:1.2.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.1.0'
    implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.3.1'
    implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1'
    implementation project(path: ':myLibrary')
    implementation 'androidx.navigation:navigation-fragment-ktx:2.3.5'
    implementation 'androidx.navigation:navigation-ui-ktx:2.3.5'
    testImplementation 'junit:junit:4.+'
    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'

    implementation 'com.google.android.gms:play-services-location:18.0.0'
}

构建.gradle(:myLibrary):

plugins {
    id 'com.android.library'
    id 'kotlin-android'
}

android {
    compileSdk 30

    defaultConfig {
        minSdk 21
        targetSdk 30
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        consumerProguardFiles "consumer-rules.pro"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    kotlinOptions {
        jvmTarget = '1.8'
    }
}

dependencies {

    implementation 'androidx.core:core-ktx:1.0.2'
    implementation 'androidx.appcompat:appcompat:1.0.0'

    testImplementation 'junit:junit:4.+'
    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'

//    implementation 'com.google.android.gms:play-services-location:18.0.0'
    implementation 'com.google.code.gson:gson:2.8.6'
}

以下是我需要实现该库的项目依赖项的版本(它们位于文本文件中,因此我从那里复制):

minSdkVersion: 21
targetSdkVersion: 30
compileSdkVersion: 30

appCompatVersion: "1.0.0"
gradleVersion : "3.3.0"
kotlinVersion: "1.3.60"
coreKtxVersion: "1.0.2"

关于做什么有什么建议吗?


在 build.gradle 中更新它对我有用 (在根级 build.gradle 中,而不是在 app/build.gradle 中)

buildscript {
    ext.kotlin_version = '1.6.0'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

模块错误“模块是使用不兼容的 Kotlin 版本编译的。其元数据的二进制版本是 1.5.1,预期版本是 1.1.16” 的相关文章

  • UiBinder 中的 gwt 按钮

    我需要创建一个按钮 所以它是一个带有图像的按钮 gwt with UiBinder 但我不确定如何进行 这是我的ui xml code
  • 全屏独占模式下的 AWT 框架在窗口弹出对话框中最小化

    我正在开发一个在全屏独占模式下使用 awt 框架的应用程序 一切正常 直到弹出窗口可见 这会抢走焦点 我的应用程序将被最小化 这是我的框架的初始化代码 if ApplicationConfig getInstance useFullscre
  • 在 Eclipse 中导航 Java 调用堆栈

    在调试器中像GDB http sources redhat com gdb 当您在断点处停止时 您可以轻松地向上移动调用堆栈并检查相关的源和堆栈帧数据 在 Eclipse 中如何做到这一点 In the 调试视角 http www ibm
  • Apache POI 的 ProGuard 设置

    我正在构建一个使用 Apache POI 库的应用程序 当我调试应用程序 在不运行 Proguard 的情况下编译它 时 一切都运行良好 但是在导出 APK 后 当我运行应用程序并打开 Excel 文件时 出现以下异常 RuntimeExc
  • 为什么我无法解开根节点并反序列化对象数组?

    为什么我无法通过展开根节点来反序列化对象数组 import java io IOException import java util Arrays import java util List import org codehaus jack
  • 用dagger 2查看依赖注入

    我有一个自定义视图扩展TextView 我应该在哪里调用我的组件来注入视图 component inject customTextView 因此 我发现我需要在自定义视图的构造函数中添加注入 在所有视图中 或者使一个调用另一个 Exampl
  • android listactivity onCheckedChangeListener

    我正在开发一款应用程序 并且我有一个ListActivity 其选择模式设置为choice mode multiple 现在我想重写方法 当一项被调用时调用该方法选中 未选中 我发现onCheckChanged 方法仅针对RadioGrou
  • Spark toLocalIterator 和迭代器方法之间的区别

    在编写 Spark 程序时我遇到了这个toLocalIterator 方法 之前我只使用iterator method 如果有人曾经使用过这种方法 请点亮 我在使用时遇到foreach and foreachPartitionSpark程序
  • Firebase:获取对第一个项目/元素的引用

    我正在尝试获取对 firebase Array 中第一个项目的引用 就我而言 它会是 ElmmycgjS1Nvq albums IrdMMds 但我不确定如何构造查询 dbRef child ElmmycgjS albums child n
  • 如何在其他窗口之上生成独立的 JFileChooser 对话框?

    Like 其他一些人 https stackoverflow com questions 4161207 javavm windows 7 64bit jfilechooser not showing dialog box谁问过类似的问题
  • 如何根据服务器/环境动态加载服务器配置?

    目前 我设置了 Maven 配置文件 以便能够为不同的环境 开发 演示 暂存 生产等 部署我的项目 并且它工作得很好 但问题是 对于我拥有的每个模块 Web 应用程序 我需要复制 粘贴此配置文件 它们都是属性文件 当我需要更改环境 服务器配
  • 如何等待 Kotlin 协程完成

    我读过几十篇文章 但不知何故 没有一个答案似乎适用于我的情况 我想要实现的是在Fragment中等待ViewModel使用Room执行操作 Dao Query SELECT FROM my table WHERE id id suspend
  • Java可以进行进程监控吗?

    是否可以用Java编写一个在托盘中运行的应用程序 并且当启动某个应用程序时 它可以检测到它 我想对某些程序执行此操作 以了解我每周使用它们多长时间 我是 Java 新手 所以我不知道 Java 是否是最适合此操作的语言 或者它是否具有对操作
  • 在 Java Jersey 2 JAX-RS 中初始化单例

    我是泽西岛 2 22 2 的新手 请耐心等待 我正在创建一个与 LDAP 服务器交互的 REST 服务 用于存储 删除和检索用户数据 该服务通过执行加密 解密充当安全中介 在使用 REST 服务之前必须进行相当多的初始化 并且我只想执行此初
  • 我可以从同一个 jar 文件执行两个不同的类吗?

    我有一个项目 在一个包中我制作了服务器 在第二个包中我制作了客户端 它运行良好 我想创建一个 Jar 文件 是否可以使用同一个 jar 文件分别运行客户端和服务器 我使用了只有一个 main 的 jar 文件 当我运行 jar 文件时 它会
  • LinkedBlockingQueue 抛出 InterruptedException

    我有这段代码 ALinkedBlockingQueue应该只抛出一个Exception如果在等待添加到队列时被中断 但这个队列是无限的 所以它应该尽快添加 为什么我的关闭方法会抛出一个InterruptedException private
  • @JsonCreator '无法找到具有名称的创建者属性',即使使用ignoreUnknown = true

    我有以下课程 JsonIgnoreProperties ignoreUnknown true public class Topic private List
  • 了解 FTS3/FTS4:什么是虚拟表并从中搜索具有可搜索的非虚拟表?

    阅读 SQLite3 的 FTS3 FTS4 文档的第一部分后 我现在感到非常困惑 我感到困惑的原因是散布在网络上的示例 我相信它没有涵盖所有可能的用例 另一个原因是我目前所处的情况 话虽如此 我有一个名为 Note 的表 其中包含两个类型
  • Selenium Webdriver 中的 IF 语句

    我想知道是否有人可以帮助我解决我正在尝试解决的问题以及 Java 中 Webdriver 的 If 语句 当登录到我正在测试的应用程序时 可以在主页之前进入安全问题页面 如果是新用户等 我希望测试中的代码做的是 如果出现安全问题页面 请填写
  • 如何更改MultipartFile的originalFilename

    我在服务器端有一个 MultipartFile 文件 我想更改该文件的原始文件名 但该类仅支持 getOriginalFilename 谁能帮我这个 PS 上传的是图片文件 多谢 您可以使用 MockMultipartFile 类更改名称

随机推荐

  • 如何在 SWI-Prolog 中创建事实?

    我只想创建类似的东西 like x y 我已经尝试了很长时间了 真的很沮丧 谁能告诉我该怎么做 我假设您正在交互地使用 swi 并尝试输入事实会给您一个如下错误 1 like x y ERROR toplevel Undefined pro
  • ini_set、set_time_limit、(max_execution_time) - 不起作用

    If I do set time limit 50 or ini set max execution time 50 然后当我回声时ini get max execution time 在我的本地主机上我得到50 但是当我在另一台服务器上执
  • 保持 LDAP 会话

    在 PHP 中 假设我在第 1 页有一个 LDAP 连接 ldapconn ldap connect ldapserver if ldapconn binding to ldap server ldapbind ldap bind ldap
  • 如何在不加载整个文件的情况下向 CSV 添加标题行?

    我有一个console application我想添加一个header row到 CSV 文件 而不将数据加载到应用程序中 我需要什么代码来执行此操作 并且仅检查第一行以查看标题是否已存在 如果不存在则不添加标题行 我尝试了几种方法来执行此
  • Excel VBA 类型不匹配将范围传递给数组时出错[重复]

    这个问题在这里已经有答案了 我正在尝试检索工作表中单元格数组的值 存储为数组而不是简单单元格 但由于某种原因不断收到运行时错误 13 类型不匹配 我读过有关类似问题的帖子 但其中许多似乎与数组类型错误 即不是变体类型 或静态大小有关 这是调
  • 如何指定 xsi:type zeep python

    我使用 python 的 zeep SOAP 客户端 尝试将一些数据获取到某些 wsdl address 我现在有以下内容 ambCase data1 value1 data2 value2 client zeep Client wsdl
  • 如何访问Hadoop HDFS中的文件?

    我的 Hadoop HDFS 中有一个 jar 文件 包含我想要修改的 Java 项目 我想在 Eclipse 中打开它 当我打字时hdfs dfs ls user 我可以看到 jar 文件在那里 但是 当我打开 Eclipse 并尝试导入
  • 如何创建一个不会重新创建具有相同输入参数的对象的类

    我正在尝试创建一个不会重新创建具有相同输入参数的对象的类 当我尝试使用与创建已存在对象相同的参数实例化一个类时 我只希望我的新类返回指向已创建 昂贵创建的 对象的指针 这是我到目前为止所尝试过的 class myobject0 object
  • Laravel 4 无法运行整个 RAW 查询

    我想使用 laravel 的 DB 类来执行 mysql 查询 但 Laravel 提供的功能都不起作用 这些都不起作用 DB statement DB select DB raw DB update DB select DB raw 这是
  • 转义字符串以在 XML 中使用

    我正在使用Python的xml dom minidom创建 XML 文档 逻辑结构 gt XML 字符串 而不是相反 如何让它转义我提供的字符串 这样它们就不会弄乱 XML 像这样的东西吗 gt gt gt from xml sax sax
  • 如何将 AWS WAF 与应用程序 ELB 结合使用

    我需要对 AWS 上托管的 Web 应用程序使用 AWS WAF 以为其提供额外的基于规则的安全性 我找不到任何方法直接将 WAF 与 ELB 结合使用 并且 WAF 需要 Cloudfront 添加 WEB ACL 以根据规则阻止操作 因
  • 在Interface Builder中设计UITableView的节标题

    我有一个xib文件带有UITableView我想使用委托方法添加自定义节标题视图tableView viewForHeaderInSection 有没有可能设计成Interface Builder然后以编程方式更改其一些子视图属性 My U
  • 遗留代码中的泛型

    我们有相当多的代码刚刚跳转到 Java 5 我们一直在那些打算在 Java 5 版本中发布的组件中使用泛型 但是剩下的代码当然充满了原始代码类型 我已将编译器设置为生成原始类型错误并开始手动清除它们 但按照目前的速度 这将需要very很长时
  • 什么样的日志记录对您的应用程序来说是好的日志记录?

    因此 我们已经讨论了在我的工作地点进行登录 我想知道这里的一些人是否可以给我一些关于你们的方法的想法 通常我们的场景是 根本没有日志记录 并且大多数是 NET 应用程序 winforms WPF 客户端通过 Web 服务进行通信或直接与数据
  • 如何知道推送通知发送状态

    我正在应用程序中使用推送通知 一切都很顺利 有时从服务器发送的消息但在应用程序端它没有收到 在这种情况下 我必须知道缺少哪条消息无法传递 应用程序未收到 有没有办法从服务器端知道应用程序收到了哪些消息 哪些没有收到 不 推送通知是一劳永逸的
  • 如何在 Laravel Passport 中获取刷新令牌?

    我正在使用 Laravel 6 7 并尝试使用Passport用于用户身份验证 我可以在用户注册时为他们创建访问令牌 这是代码 user User create input user gt createToken auth token 正如
  • NUnit 与 Windows Phone 7 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我想使用 NUnit 对我的 Windows Phone 7 库进行单元测试 是否有与 Windows Phone 7 兼容的 NUnit
  • 通过 React App 的数据表按钮

    在 React 中工作时 我在尝试添加 Excel 导出按钮时遇到了问题 我认为它与导入有关 但在这方面我在网上找不到太多与 React 和 DataTables net 相关的帮助 我只希望用户能够下载到 Excel 这些是我与 jque
  • 我在使用 log4js-protractor-appender 时遇到麻烦

    我的 log4js js 文件代码 use strict var log4js require log4js var log4jsGen getLogger function getLogger log4js loadAppender fi
  • 模块错误“模块是使用不兼容的 Kotlin 版本编译的。其元数据的二进制版本是 1.5.1,预期版本是 1.1.16”

    我正在为我们的项目编写一个 kotlin 库 完成后 我构建了一个 aar 文件并将其发送给团队 但他们有一个错误 Module was compiled with an incompatible version of Kotlin The