JNI IsSameObject 方法在 Android 13 中返回错误值

问题描述 投票:0回答:0

目的是将字节数组与 NULL 值进行比较

jmethodID midGet = (*env)->GetMethodID(env, classArrayList, "get", "(I)Ljava/lang/Object;");
jbyteArray arr = (*env)->CallObjectMethod(env, arrayList, midGet, 0);
if (!(*env)->IsSameObject(env, arr, NULL)) {
    // Always falls in here when testing with Android 13
    // For Android <13, this block is not executed
}

arrayList从Java层传入

ArrayList<byte[]> arrayList = new ArrayList<>();
arrayList.add(null);

IsSameObject 方法在 Android 13 中返回了意外的值。请帮我弄清楚。谢谢!

java android java-native-interface
© www.soinside.com 2019 - 2024. All rights reserved.