Android JNI入门第一篇——HelloJni
android支持使用NDK開發(fā)C程序,關(guān)于配置NDK環(huán)境問題應(yīng)該不用再贅述了,這個網(wǎng)上有很多,這里通過一篇實(shí)例來講述簡單的JNI開發(fā),大家可以參考這篇文章(Get Your Eclipse-Integrated NDK On!)搭建Eclipse編譯C語言為so文件的開發(fā)環(huán)境。
??????? native方法實(shí)現(xiàn)步驟如下:
??????? 1、在Java中聲明native()方法,然后編譯(javac);?
??????2、用javah產(chǎn)生一個.h文件;?
????? 3、編寫包含.h文件的c文件
????? 4、編譯c文件
????? 5、使用編譯成功的so文件。
?
?????? 第一步:
??????????????1、聲明native方法
?????????????????
[java]?view plaincopyprint??????? 2、javac編譯
??????????? 進(jìn)入java文件所在路徑,調(diào)用javac命令,如圖:
?????????????
第二步:使用javah命令生成.h頭文件,如圖:
???????????
???? 這個要回到src目錄下,不知道什么原因,如果在上面的javac路徑下會報(bào)錯,如圖:
???????
???? ?使用javah命令生成的頭文件如下:
[cpp]?view plaincopyprint?第三步:編寫c文件,代碼如下:
[cpp]?view plaincopyprint?第四步,書寫Android.mk文件,編譯c文件
??????? Android.mk文件如下:
?????
[plain]?view plaincopyprint?
LOCAL_MODULE??? := com_nedu_jni_helloword_printf-jniLOCAL_MODULE??? := com_nedu_jni_helloword_printf-jniLOCAL_MODULE??表示so文件名
LOCAL_SRC_FILES 需要編譯的文件
按照這篇文章(Get Your Eclipse-Integrated NDK On!)的介紹就可以在Eclipse編譯了。
第五步:使用so文件:
??? 通過下面的代碼加載so文件
[html]?view plaincopyprint?
通過下面的代碼加載so文件通過下面的代碼加載so文件
調(diào)用如下:
[java]?view plaincopyprint??
?
?
?
/**
* @author 張興業(yè)
* 郵箱:xy-zhang#163.com
* android開發(fā)進(jìn)階群:278401545
*
*/
總結(jié)
以上是生活随笔為你收集整理的Android JNI入门第一篇——HelloJni的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: What every programme
- 下一篇: 简单的http服务器示例