圖/文 聽鬼哥說故事
閒話少說,so的修改,重要性大家都知道,這裏從頭編寫so文件,分析so文件,修改so文件,打算做一個系列的教程,當然,主要是看時間允許。
android的sdk配置以及ndk環境下載,請同學們自行google即可。
翻牆也不會,工具也不會用,搜索也懶得搞,請直接略過本文即可。
0x1:新建立一個安卓工程
0x2:編寫調用so代碼和方法定義
在MainActivity.java同目錄下創建一個JniGg.java文件,用於調用so
在這個目錄可以看到我們編寫好並且已經編譯的class文件,eclipse是自動編譯的。
一切正常編譯,那麼現在我們回到工程根目錄下:
然後在命令行切換到此目錄:
現在我們使用下面的命令:javah -classpath bin/classes -d jni com.ggndktest1.JniGg
不報錯,並且成功編譯出.h文件,纔算成功的。
上面需要注意的是那個bin/classes,因爲我的電腦上編譯完的classes目錄是這個樣子的,參照上文那個文件目錄的截圖圖片,個別電腦上不需要/classes。然後在Eclipse,右擊工程,進行刷新,可以看到如下截圖:
0x4:編寫c代碼
在jni目錄下新建file,gg-jni.c自己看看代碼,也就知道啥意思了
然後就是Android.mk文件的編寫了
0x5:生成so文件
切換到工程根目錄,然後直接ndk-build即可。這裏需要注意,ndk-build需要配置環境變量,自行搜索配置方法即可。
0x6:android調用代碼
新建一個TextView,然後顯示so裏面的字符串。然後運行我們的測試代碼:
相關附件和文檔:
http://pan.baidu.com/s/1pJ2Y047
文章同時也交由www.pd521.com 首發,轉載請註明出處。