我正在开发一个本机应用程序名称 test.c,我想从本机 C 文件返回 arrayofByte,我能够编译并在运行我的应用程序时生成 .so 文件
05-08 13:04:08.477: D/dalvikvm(945): No JNI_OnLoad found in /data/data/com.ssg.nativelibtest/lib/libnativelibtest.so 0x45f3da78, skipping init
在我的应用程序中没有任何崩溃的情况下收到此消息,因此如何解决 Nativefile 的调用。作为参考,我提供了我的 test.c 文件,这是用 CI 编写的文件,正在调用 .so 文件 Java 应用程序
jbyteArray Java_com_ssg_nativelibtest_MainActivity_getEncryptionKey(JNIEnv * env, jobject obj)
{
unsigned char ukey[] = { 'H','A','R','D','C','O','D','E','D',' ','K','E','Y','1','2','3'};
int lengthOfArray = (*env)->GetArrayLength(env, ukey);
//jsize lengthOfArray =(*env)->GetArrayLength(env, ukey);
jbyteArray byteKey = (*env)->NewByteArray(env, lengthOfArray);
(*env)->SetByteArrayRegion(env, byteKey, 0, lengthOfArray, (jbyte *)ukey);
return byteKey;
}