I have a project with following structure:
multiplatformmodule
- contains a single kotlin class SomeMultiPlatformClassjvmmodule
- a pure jvm module which depends on multiplatformmodule
The problem is that within the jvmmodule I can't access any class from multiplatformmodule
when running a test. I get java.lang.NoClassDefFoundError: com/example/multiplatform/multiplatformmodule/SomeMultiPlatformClass
. IDE (Anroid Studio) also marks this class as unresolved. It builds, however, when the multplatformmodule
classes are accessed from another multiplatform module.
Much more can be seen in the example project https://github.com/micHar/kmm-dependency-issues/tree/master.
I cloned your repo and opened it with Intellij 2020.3.1 and it seems to resolve SomeMultiPlatformClass
fine. I tried to run tests from the IDE, which didn't work for different reasons. When I changed the @Test
to point to kotlin.test.Test
the IDE also ran the tests fine.
https://github.com/kpgalligan/kmm-dependency-issues
This is clearly an Android Studio bug. Running your project with gradle, i.e. ./gradlew test
will run the test (SomeJvmTest
) just fine.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With