Android之jni入门
生活随笔
收集整理的這篇文章主要介紹了
Android之jni入门
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
jni即java native interface,使用jni我們可以在JAVA中調用C代碼,提高了效率,可以復用代碼,可以靈活的應用于各種場景
怎么使用JNI
安裝軟件
1.NDK 用于將C代碼編譯成so庫
2.CygWin 在windows下模擬linux環境
3.CDT 在eclipse下編寫C與C++環境搭建
JNI實現
1 定義一個c方法的接口 相當于在java代碼中定義了一個接口 接口的實現方法是C語言實現的
public native String helloWorldFromC();2 步 實現C代碼
注意:方法名 嚴格按照jni的規范 jstring Java_com_zj_helloworldfromc_MainActivity_helloWorldFromC(JNIEnv* env,jobject obj)
其中Java是大寫的,函數名必須包括正確的包名,筆者就因為在這里出了錯,導致找不到庫文件
3 生成android.mk 告訴編譯器 如何把c代碼打包成函數庫
如果沒有mk文件,就使用ndk-build就會報錯
android.mk文件格式如下
LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)# 對應打包成函數庫的名字LOCAL_MODULE := hello# 對應c代碼的文件LOCAL_SRC_FILES := Hello.cinclude $(BUILD_SHARED_LIBRARY)4步 把c代碼 打包成函數庫 用到了安裝的環境
生成了libhello.so庫文件,就可以使用了
5 步在java代碼中 引入庫函數
static{System.loadLibrary("hello");// 注意事項 去掉前面的lib 后面的.so}6 使用方法
public void click(View view){//彈出一個吐司,吐司內容為C代碼內容Toast.makeText(getApplicationContext(), helloWorldFromC(), 0).show();}運行效果
總結
以上是生活随笔為你收集整理的Android之jni入门的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: struts2+ajax+json使用实
- 下一篇: android sina oauth2.