无法在Android NDK项目中使用.c文件

时间:2014-12-22 00:43:07

标签: android-ndk

如果我的Android NDK项目使用.c文件而不是.cpp我无法解析JNIEnv *中的任何函数。以下是我尝试使用它的方法:

(*env)->GetCharArrayElements(chrs, 0);

我也尝试过:

GetCharArrayElements(env, chrs, 0);
env->GetCharArrayElements(chrs, 0);

这令人沮丧,因为我有一些我希望包含的c库项目,但如果我有.cpp文件,那么库需要以某种方式移植,我想避免这种情况。任何帮助/想法都会很棒。

这是我的Android.mk:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE    := NDKDemo
LOCAL_SRC_FILES := NDKDemo.c

include $(BUILD_SHARED_LIBRARY)

修改

以下是我宣布JNIEnv *

的方法
#include <jni.h>
JNIEXPORT void JNICALL Java_com_atd_ndkdemo_NDKDemo_charManip(JNIEnv* env, jobject obj, jcharArray chrs) 

    jchar* cchar0 = GetCharArrayElements(chrs, 0);
    jchar* cchar1 = (*env)->GetCharArrayElements(env, chrs, 0);
    jchar* cchar2 = (*env)->GetCharArrayElements(chrs, 0);
    jchar* cchar3 = env->GetCharArrayElements(chrs, 0);
}

有趣的是, cchar0 在我尝试编译之前不会抱怨,然后eclipse告诉我它无法再次解决。

0 个答案:

没有答案