https://kotlinlang.org logo
#multiplatform
Title
# multiplatform
h

Hailong

09/23/2020, 1:23 PM
I have a KMP multi-platform library for Java-Swing, Android, iOS. There is no problem on Java-Swing, iOS, but an error is reported when used on Android. Has anyone encountered this kind of error? How to solve it, I have been doing it for a day... 1、KMP-common gradle/wrapper/gradle-wrapper.properties distributionUrl= xxx/gradle-6.5-all.zip build.gradle.kts kotlin { jvm{ compilations.all { kotlinOptions.jvmTarget = "1.8" // Default value: "1.6" } } sourceSets{ val jvmMain by getting { dependencies { implementation(Deps.NGJvm.log_jvm_common) implementation (Deps.NGJvm.common_net) implementation(Deps.NGJvm.order_calculator) implementation(Deps.NGJvm.common_utils) } } } } 2、Java Swing --> It work well gradle/wrapper/gradle-wrapper.properties distributionUrl= xxx/gradle-4.10-all.zip 3、Android --> build error build.gradle classpath 'com.android.tools.buildG3.1.4' implementation ('com.xx.xx.kmp.common.net:NGNet-jvm:1.0.1-SNAPSHOT'){ exclude group: 'com.xx.xx.common' exclude group: 'com.xx.xx.business.common' exclude group: 'com.xx.xx.sjst' } gradle/wrapper/gradle-wrapper.properties distributionUrl= xxx/gradle-4.10-all.zip --------- Error messag ------------
Task apptransformClassesWithStackFramesFixerForDebug
Exception in thread "main" java.lang.IllegalArgumentException: Type without superclass: module-info at com.google.common.base.Preconditions.checkArgument(Preconditions.java:191) at com.google.devtools.build.android.desugar.DefaultMethodClassFixer.visit(DefaultMethodClassFixer.java:80) at org.objectweb.asm.ClassVisitor.visit(ClassVisitor.java:113) at com.google.devtools.build.android.desugar.InterfaceDesugaring.visit(InterfaceDesugaring.java:97) at org.objectweb.asm.ClassReader.accept(ClassReader.java:621) at org.objectweb.asm.ClassReader.accept(ClassReader.java:500) at com.google.devtools.build.android.desugar.Desugar.desugarClassesInInput(Desugar.java:477) at com.google.devtools.build.android.desugar.Desugar.desugarOneInput(Desugar.java:361) at com.google.devtools.build.android.desugar.Desugar.desugar(Desugar.java:314) at com.google.devtools.build.android.desugar.Desugar.main(Desugar.java:711)
Task apptransformClassesWithDesugarForDebug FAILED
FAILURE: Build failed with an exception.
I have found the root cause, AGP 3.x is not compatible with Kotlin 1.4.x in the Android project, otherwise there will be many compatibility issues Temporary solution version: reduce the Kotlin version to 1.3.x, the corresponding AGP is 3.1.2 Remaining question: If the AGP of the project is 3.1.x and I want to use Kotlin 1.4.x, what should I do?
20 Views