需求明确,直接上代码 :
在Java中声明:
public native byte[] getRandomKey();
C++中的实现:
#include <jni.h>
#include <string>
using namespace std;
extern "C"
JNIEXPORT jbyteArray JNICALL
Java_com_example_guan_stegwechat_service_VideoIntentService_getRandomKey(JNIEnv *env,
jobject thiz) {
char msgdata[40] = {0}; // 可以换成其他任意字符
// 转为 byte[] 返回
jbyteArray byteArray = env->NewByteArray(40);
env->SetByteArrayRegion(byteArray, 0, 40, (jbyte *) msgdata);
return byteArray;
}