Hi,
I’m currently porting my existing code to Kotlin and a large portion contains JNI calls. When I’m trying to run the code I’m getting the following error:
java.lang.UnsatisfiedLinkError: No implementation found for long com.company.project.Context.nativeContextCreate$project_debug() (tried Java_com_company_project_Context_nativeContextCreate_00024project_1debug and Java_com_company_project_Context_nativeContextCreate_00024project_1debug__)
This is a bit odd because it’s looking for a method that ends with $project_debug()
. I thought that maybe re-generating the headers would fix this but I wasn’t able to use javah
property. I followed this tutorial (GitHub - fuzzdota/kotlin-jni-example: An example for Kotlin and Native JNI communication.) but I ended up with a “Cannot find class” error.
Is JNI supposed to be working property at this time with Android Studio 3.0 Canary 1 and, if so, does anyone knows the proper javah
command to generate the headers from Kotlin classes ? Otherwise I’m thinking about moving all my native methods to a Java class, make them statics and invoke them from Kotlin classes.
Thanks