android jni java调用c_Android与JNI(一) ---- Java调用C 静态调用
第一、通過(guò)eclipse新建一個(gè)工程名為HelloJni的android工程,并編譯。
第二、右鍵工程-->Android Tools --> Add Native Support,出現(xiàn)如下界面,名字默認(rèn)就可以了,點(diǎn)擊finish。
第三、我們?cè)贛ainActivity類(lèi)中加入要調(diào)用的native代碼
public native String stringFromJNI();
以及加入我們要調(diào)用的lib庫(kù),名字就是上面圖中的名字了。
static{
System.loadLibrary("HelloJni");
}
第四、用eclipse編譯工程,使其在工程bin/classes目錄下生成class文件
然后在工程根目錄的src執(zhí)行
javah -d ../jni com.example.hellojni.MainActivity
其中-d 表示生產(chǎn)目錄,這時(shí)候jni目錄會(huì)生產(chǎn)com_example_hellojni_MainActivity.h頭文件。
在jni目錄下創(chuàng)建com_example_hellojni_MainActivity.c文件,并實(shí)現(xiàn)stringFromJNI方法
#include
#include
#include "com_example_hellojni_MainActivity.h"
/* This is a trivial JNI example where we use a native method
* to return a new VM String. See the corresponding Java source
* file located at:
*
* src/com/example/hellojni/MainActivity.java
*/
jstring Java_com_example_hellojni_MainActivity_stringFromJNI(JNIEnv *env, jobject this)
{
return (*env)->NewStringUTF(env, "Hello from JNI !");
}
將com_example_hellojni_MainActivity.c添加到j(luò)ni的Android.mk中,同時(shí)刪除HelloJni.cpp文件
最后我們添加Toast來(lái)顯示stringFromJNI返回的文本。
Toast.makeText(getApplicationContext(), str, 90000000).show();
OK,接下去就是編譯安裝包看下效果了。
工程源碼下載:
總結(jié)
以上是生活随笔為你收集整理的android jni java调用c_Android与JNI(一) ---- Java调用C 静态调用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: desktop指的是什么设备
- 下一篇: 解决找不到steam_api64.dll