gpt4 book ai didi

android - 在 jni android 中返回字节数组?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:20:01 24 4
gpt4 key购买 nike

我需要从 jni 获取字节数组到 Java。例如:我有一个字节数组 byte[] a = {1,2,3,4,5,6}

JNIEXPORT jbyteArray JNICALL Java_com_vn_getArray (JNIEnv *env, jobject obj) {
jbyte[] a = {1,2,3,4,5,6};
return a;

我不知道如何从 jni 返回字节数组。

有人可以帮助我吗?请!

最佳答案

在 Java 中,数组是一个对象。因此,要将字节数组从 C 或 C++ 移交给 Java,您需要实例化一个 jbyteArray,然后返回它。而不是 C 数组。要解决该问题,请参见以下代码:

JNIEXPORT jbyteArray JNICALL Java_Test_returnArray
(JNIEnv *env, jobject This)
{
jbyte a[] = {1,2,3,4,5,6};
jbyteArray ret = env->NewByteArray(6);
env->SetByteArrayRegion (ret, 0, 6, a);
return ret;
}

基于此link

关于android - 在 jni android 中返回字节数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26603285/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com