Java'的签名是什么;是拜特利吗? 我试图通过C++在JNI:上调用 OnEngEngult class MainActivity: FlutterActivity(){ companion object { @JvmStatic private fun onEventChannel(b: ByteArray): Int { Log.d(TAG, "onEventChannel"); return 0; } }
我尝试了Java'的签名是什么;是拜特利吗? 我试图通过C++在JNI:上调用 OnEngEngult class MainActivity: FlutterActivity(){ companion object { @JvmStatic private fun onEventChannel(b: ByteArray): Int { Log.d(TAG, "onEventChannel"); return 0; } },java,kotlin,java-native-interface,Java,Kotlin,Java Native Interface,我尝试了(Ljava/lang/byte;)I和(Ljava/lang/ByteArray;)I,用于onEventChannel,但都不起作用 java的ByteArray的签名是什么?(免责声明:我不知道flatter,也没有使用JNI。) 没有java.lang.byte*,也没有java.lang.ByteArray 在Kotlin/JVM上,编译成一个简单的基元数组,在Java中称为byte[] 还有JVM描述符[B(您可以通过打印ByteArray(0).toString(),它以[
(Ljava/lang/byte;)I
和(Ljava/lang/ByteArray;)I
,用于onEventChannel
,但都不起作用
java的ByteArray的签名是什么?(免责声明:我不知道flatter,也没有使用JNI。)
没有java.lang.byte
*,也没有java.lang.ByteArray
在Kotlin/JVM上,编译成一个简单的基元数组,在Java中称为byte[]
还有JVM描述符[B
(您可以通过打印ByteArray(0).toString()
,它以[B
开头(在@
和哈希代码之前)。血淋淋的详细信息在中。)
所以我建议试试[B
(*有,但这是用于装箱字节的基本包装类。)尝试使用
[B
。