我正在为我们的项目编写一个kotlin库。完成后,我构建了一个. aar文件并将其发送给团队。但是他们有一个错误,即"Module是用不兼容的静态编程语言版本编译的。其元数据的二进制版本是1.5.1,预期版本是1.1.16"
(当时库的core-ktx版本是1.3.2,kotlin-gradle-plugin版本是1.5.0)。
我研究了一下,找到了这个线程。“模块是用不兼容的静态编程语言版本编译的。其元数据的二进制版本是1.5.1,预期版本是1.1.16”
我在这里尝试了给定的解决方案,但到目前为止都没有奏效。每当我低于kotlin-gradle-plugin的1.5版时,我都会看到诸如类路径中的Runtime JAR文件的版本为1.4,它比API版本1.5更旧?
我在这里共享gradle文件。
build.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
}
build.gradle(:app):
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'
}
build.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不在应用程序/build.gradle中)
buildscript {
ext.kotlin_version = '1.6.0'
我厌倦了改变gradle版本。仍然得到相同的错误。需要一些帮助,以解决不兼容的错误&添加电子邮件和卡持有人的名字在条纹。谢了。
我是Kotlin应用程序开发的初学者。在我尝试构建应用程序时发生以下错误- e:C:/Users/Lenovo/。gradle/caches/transforms-2/files-2.1/32f0bb3e96b47cf79ece6482359b6ad2/jetified-kotlin-stdlib-jdk7-1.5.0。罐子/META-INF/kotlin-stdlib-jdk7。kotlin_模
/17781b877d5b089c3644ae29c20f0b88/转换/喷气-科特林-stdlib-1.7.10.jar!/META-INF/科特林-stdlib.kotlin_module:模块是使用不兼容的柯特林版本编译的。其元数据的二进制版本为 1.7.1,预期版本为 1.5.1。 我在Android Studio中创建了新项目,当我更新时,它促使我更新kotlin插件,然后它开始给出此错
C:/Users/khare/。grad le/caches/modules-2/files-2.1/org . jetbrains . kot Lin/kot Lin-stdlib-common/1 . 7 . 0/51736992 f 422993 a1 e 741051 BDF 3c 12801 bc1 ca 1/kot Lin-stdlib-common-1 . 7 . 0 . jar!/
版本化的模块 不像CVS,Subversion工作拷贝会意识到它检出了一个模块,这意味着如果有人修改了模块的定义(例如添加和删除组件),然后一个对svn update的调用会适当的更新工作拷贝,添加或删除组件。 Subversion定义了模块作为一个目录属性的目录列表:见“外部定义”一节。
问题内容: 运行我的node.js程序时,出现以下错误 问题答案: 您可能会给出这样的错误: 然后,您可以注意到模块或某处的错误。 这是因为您已经更新了节点,所以可能会重建上面找到的模块。 我通过 重新安装 (删除,然后安装)xml2json来表达我的问题。 祝好运!