android jni怎么编译
1个回答
2016-05-26
展开全部
参考如下
打开Eclipse,选择菜单 "File->New->other...";
选择“Android->Android Project from Existing Code”后,点击 Next;
① 点击"Browse..."按钮,选择"ndk根目录下->samples->hello-jni",如目录是“D:\Android\android-ndk-r9d\samples\hello-jni”;
② 取消“Project:->Project to import->tests”的复选框;
③ 选中“Copy projects into workspace”
④ 然后点击 Finish 完成
① 选择““HelloJni”工程后点击右键->Android Tools->Add Native Support...”;
② 在 "Add Android Native Support" 界面点击 Finish
打开工程文件 “hellojni->jni->hello-jni.c",发现报错:”Method 'NewStringUTF' could not be resolved“;解决方法:
①将 文件名”hello-jni.c“改为”hello-jni.cpp“;
②将文件”hello-jni.cpp“中的
函数 ”Java_com_example_hellojni_HelloJni_stringFromJNI“的最前面加上"extern C"
③将文件”hello-jni.cpp“中的
函数 ”Java_com_example_hellojni_HelloJni_stringFromJNI“
的最后一行的代码:
”return (*env)->NewStringUTF(env, "Hello from JNI ! Compiled with ABI " ABI ".");“
改为
”return env->NewStringUTF("Hello from JNI ! Compiled with ABI " ABI ".");“
④在工程文件"hellojni->jni->Android.mk”中的
“LOCAL_SRC_FILES := hello-jni.c”改为“LOCAL_SRC_FILES := hello-jni.cpp”
⑤点击工具栏上的按钮 Build All(Ctrl+B),或者使用快捷键"Ctrl+B"
⑥改为后的文件内容如下:
点击工程"hellojni右键->Debug As->Andrid Native Application;结果报错:
“Unable to resolve target 'android-3'”,解决方法:
打开工程文件“hellojni->AndroidManifest.xml”选择”Manifest分页->Manifest Extras->Uses SDK“,修改右边”Atributes for User Sdk“下的“Min SDK Version”为19, “Target SDK Version"为19, (注:19是android4.4.2版,目前最新版),保存;
保存后又发现错误提示”Avoid hardcoding the debug mode;“,解决方法:”打开AndroidManifest.xml文件Application分页“,将"Application Attributes"下的 Debuggable 属性框中的 true 清除掉;
点击工程"hellojni右键->Debug As->Andrid Native Application;运行结构
打开Eclipse,选择菜单 "File->New->other...";
选择“Android->Android Project from Existing Code”后,点击 Next;
① 点击"Browse..."按钮,选择"ndk根目录下->samples->hello-jni",如目录是“D:\Android\android-ndk-r9d\samples\hello-jni”;
② 取消“Project:->Project to import->tests”的复选框;
③ 选中“Copy projects into workspace”
④ 然后点击 Finish 完成
① 选择““HelloJni”工程后点击右键->Android Tools->Add Native Support...”;
② 在 "Add Android Native Support" 界面点击 Finish
打开工程文件 “hellojni->jni->hello-jni.c",发现报错:”Method 'NewStringUTF' could not be resolved“;解决方法:
①将 文件名”hello-jni.c“改为”hello-jni.cpp“;
②将文件”hello-jni.cpp“中的
函数 ”Java_com_example_hellojni_HelloJni_stringFromJNI“的最前面加上"extern C"
③将文件”hello-jni.cpp“中的
函数 ”Java_com_example_hellojni_HelloJni_stringFromJNI“
的最后一行的代码:
”return (*env)->NewStringUTF(env, "Hello from JNI ! Compiled with ABI " ABI ".");“
改为
”return env->NewStringUTF("Hello from JNI ! Compiled with ABI " ABI ".");“
④在工程文件"hellojni->jni->Android.mk”中的
“LOCAL_SRC_FILES := hello-jni.c”改为“LOCAL_SRC_FILES := hello-jni.cpp”
⑤点击工具栏上的按钮 Build All(Ctrl+B),或者使用快捷键"Ctrl+B"
⑥改为后的文件内容如下:
点击工程"hellojni右键->Debug As->Andrid Native Application;结果报错:
“Unable to resolve target 'android-3'”,解决方法:
打开工程文件“hellojni->AndroidManifest.xml”选择”Manifest分页->Manifest Extras->Uses SDK“,修改右边”Atributes for User Sdk“下的“Min SDK Version”为19, “Target SDK Version"为19, (注:19是android4.4.2版,目前最新版),保存;
保存后又发现错误提示”Avoid hardcoding the debug mode;“,解决方法:”打开AndroidManifest.xml文件Application分页“,将"Application Attributes"下的 Debuggable 属性框中的 true 清除掉;
点击工程"hellojni右键->Debug As->Andrid Native Application;运行结构
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询