煩躁到不行,官方網站根本打不開,幸好小編收藏了一個,有了Android NDK R9d再也不用再用Cygwin這種蛋疼的東西了。
NDK提供了一係列的工具,幫助開發者快速開發C(或C++)的動態庫,並能自動將so和java應用一起打包成apk。這些工具對開發者的幫助是巨大的。
NDK集成了交叉編譯器,並提供了相應的mk文件隔離CPU、平台、ABI等差異,開發人員隻需要簡單修改mk文件(指出“哪些文件需要編譯”、“編譯特性要求”等),就可以創建出so。
NDK可以自動地將so和Java應用一起打包,極大地減輕了開發人員的打包工作。
1.代碼的保護。由於apk的java層代碼很容易被反編譯,而C/C++庫反彙難度較大。
2.可以方便地使用現存的開源庫。大部分現存的開源庫都是用C/C++代碼編寫的。
3.提高程序的執行效率。將要求高性能的應用邏輯使用C開發,從而提高應用程序的執行效率。
4.便於移植。用C/C++寫得庫可以方便在其他的嵌入式平台上再次使用。
對於Windows環境下NDK的開發,如果使用的NDK是r7之前的版本,必須要安裝Cygwin才能使用NDK;從r7開始,Google的提供了一個ndk-build.cmd的腳本,可以直接用它編譯,而不需要使用Cygwin了。可以通過,配置path變量,直接在cmd下麵運行ndk-build命令即可對android工程中的項目進行編譯了。
1、配置path
2、推薦在eclipse中安裝一個插件 可以快速調出文件夾,即命令行
詳見http://basti1302.github.io/startexplorer/
初步的使用:
1、導入項目
在工程的根目錄下麵 輸入ndk-build
運行整個項目即可,看到項目運行成功的畫麵。
在這種情況下,就可以編寫一般的代碼的程序啦!但是,這樣寫的C代碼是沒有代碼的提示。點擊在你的工程Project選擇Android Tools,Adding Native Support 便可導入一些C的頭文件庫。如下圖
我們可以看到有很多的頭文件哈!
在這種模式下,
1、寫的代碼就可以有C的代碼的自動的提示哈!很OK的!
2、自己編譯項目JNI 下麵的文件也自動的編譯。
3、但是如果,有些頭文件不在導入的頭文件中,項目將會報錯..
76.4M / 03-25
55M / 06-05
237.9M / 04-13
140.5M / 03-06
900.9M / 03-02
96.2M / 07-06
311.2M / 07-06
335M / 07-06
200M / 07-06
413.8M / 07-06
353.9M / 06-05
131.8M / 04-13
230.8M / 03-03
195.6M / 03-03
165.4M / 03-03
45.6M / 09-08
665.2M / 07-06
2.84G / 07-06
93M / 07-06
338.3M / 07-06
1.38G / 07-26
488.3M / 07-16
109.8M / 06-03
142M / 01-08
1.2M / 11-23
548.8M / 04-13
1.6M / 04-13
1.48G / 03-18
646.6M / 03-03
133.7M / 03-03
325.8M / 06-07
60M / 04-29
254M / 04-25
659M / 04-23
1M / 12-26
253.4M / 12-08
253M / 12-08
1.19G / 11-16
110.5M / 04-23
26.7M / 03-16
488.3M / 07-16
248.9M / 12-08
248.9M / 12-08
201.2M / 04-13
100.6M / 03-06
148.9M / 03-06
1.12G / 07-06
1.25G / 07-06
9.48G / 07-06
50KB / 07-06
116.2M / 04-10
1.92G / 04-17
201.5M / 04-13
7.31G / 07-01
94.3M / 07-06
2.48G / 07-06
7.63G / 07-06
1M / 07-06
778.1M / 07-06
509.7M / 07-06
561.8M / 07-11
1.32G / 01-19
72M / 07-06
548.7M / 07-06
1.00G / 07-06
9.13G / 07-06
126.2M / 07-06
72M / 07-06
105.1M / 07-06
132M / 07-06