Android JNI????????
???????????? ???????[ 2013/6/5 10:01:05 ] ????????
?????????JNI?й????????????? Android??????????????????????????????????????:
????JNIEXPORT jobjectArray JNICALL
????Java_Android123_CwjTest2(JNIEnv *env?? jclass clazz)
????{
????jobjectArray result; //???巵?????
????jclass intArrayClazz = (*env)->FindClass(env?? "[I"); //????????????
????if (intArrayClazz == NULL)
????{
????return NULL;
????}
????result = (*env)->NewObjectArray(env?? size?? intArrayClazz?? NULL); //????????μ????????
????if (result == NULL)
????{
????return NULL;
????}
????for (int i = 0; i < 10 ; i++) //???10??
????{
????jint szBuffer[256];
????int j;
????jintArray newIntArray = (*env)->NewIntArray(env?? 10); //????10??????????
????if (newIntArray == NULL)
????{
????return NULL;
????}
????for (j = 0; j < 10 ; j++) //10??
????{
????szBuffer[j] = i + j;
????}
????(*env)->SetIntArrayRegion(env?? newIntArray?? 0?? 10?? szBuffer); //???ó????10??
????(*env)->SetObjectArrayElement(env?? result?? i?? newIntArray);
????(*env)->DeleteLocalRef(env?? newIntArray);
????}
????return result;
????}
????3. JNI???й????????
????JNI??????????try...catch?????????????????????
????????1: ???ThrowNew??????IOException??????FileNotFound
????(*env)->ThrowNew(env??(*env)->FindClass("java/io/IOException")??"CWJLog Error?? IOException");
????????2: ???Throw?????????
????jclass clazz = (*env)->FindClass(env?? "java/io/IOException");
????jmethodID methodId = (*env)->GetMethodID(env?? clazz?? ""?? "()V");
????jthrowable throwable = (*env)->NewObject(env?? clazz?? methodId);
????(*env)->Throw(env?? throwable);
??????
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11