Android中的NDK總結

weixin_33850890發表於2016-09-20

1. NDK是什麼?

NDK,Native Development Kit, 原生開發包. 提供了一些列開發C或C++動態庫的工具,並能把so和java應用一起自動打包為apk。它整合了交叉編譯器,並生成了對應的mk檔案隔離CPU、平臺、ABI等差異,開發者僅需修改mk檔案,即可建立出so。

NDK包含了有限的Api:C標準庫(libc)、標準數學庫(libm),壓縮庫(libz)、Log庫(liblog)。
Google明確宣告ndk所含的API是穩定的,在後續所有版本中都穩定支援當前釋出的API。

2. NDK的作用?

  1. 防止程式碼被反編譯。C/C++反編譯難度比java高很多
  2. 便於使用開源庫。現存大部分開源庫都是用C/C++編寫
  3. 程式碼的執行效率高。C的執行效率很高
  4. 便於跨平臺使用。C/C++程式碼可以便於再其他的嵌入式平臺上使用

相關文章