Как найти статический метод в Kotlin в C JNI?

#java #android #kotlin #java-native-interface

#java #Android #kotlin #java-native-interface

Вопрос:

 package com.example.flutter_app


class JNI {
    companion object {
        private fun loadWavAsset(assetMgr: AssetManager, assetName: String, index: String, pan: Float): Boolean {
    //...
    }
}
 

Затем я кэширую JNI следующим образом: methodId: loadWavAsset , и подпись (Landroid/content/res/AssetManager;Ljava/lang/String;Ljava/lang/String;F)Z , и класс есть com/example/flutter_app/JNI .

Я считаю, что это как-то связано со статическим методом на Kotlin. Являются ли сопутствующие методы в классах Kotlin действительно статическими методами в JNI?

Другая вещь, которую я подозреваю Float . Я не использую float , когда я делаю F с подписью. Для чего должна быть подпись Float ?

Комментарии:

1. Вы пытаетесь найти метод kotlin из собственного метода? Чтобы пометить метод как статическую @JvmStatic аннотацию, используйте: kotlinlang.org/docs/reference /…

2. @user882813 спасибо, это сработало, сделав это и используя F для Float