Android JNI部分得到jbytearray,Java用byte[]数组进行接收。该如何实现?

难道百度知道上就没有人了么。请教这是为何,也已经封装成了jbyteArray。可是我不知道该怎么把这个值进行封装返回先吐槽一下.现在我已经在JNI得到了数据?我在Java... 难道百度知道上就没有人了么。请教这是为何,也已经封装成了jbyteArray。可是我不知道该怎么把这个值进行封装返回先吐槽一下. 现在我已经在JNI得到了数据? 我在Java 中写了一个native方法.然后在JNI层写了一个相对应的函数 JNIEXPORT jbyteArray JNICALL Java_com_test_getData()。求教大神教育。可是总也没有人回答,我特么在百度上问过好多问题了,让Java端能进行接收。public native static byte[] getData() 展开
 我来答
机能卓闲丽
2019-12-13 · TA获得超过3741个赞
知道大有可为答主
回答量:3130
采纳率:31%
帮助的人:231万
展开全部
利用
jni
的回调机制
java层定义
native方法
private
void
aa(string
c)
{
output(c);
};
JNI层添加native数组
static
JNINativeMethod
array
=
{
{
“aa",
"(JString)V",
(void*)JNI_aa,
},
};
jni层调用注册的方法
jclass
cls
=
(*env)->GetObjectClass(env,
log);
jmethodID
jmid
=
(*env)->GetMethodID(env,
cls,
"aa",
"(Ljava/lang/String;)V");
jstring
info
=
(*env)->NewStringUTF(env,
"out!");
(*env)->CallVoidMethod(env,log,
jmid,info);
//调用方法
//释放string
(*env)->ReleaseStringUTFChars(env,info,(*env)->GetStringUTFChars(env,
info,
FALSE));
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式