前言
做爲Android工程師,Java和Kotlin是咱們常用的開發語言android
但在涉及到一些須要高性能,或與底層相關,或與安全相關的功能,就不得不使用C/C++來實現,Java語言也提供了相關接口(JNI)來調用native相關的代碼git
Android平臺又在此基礎上提供了native相關的開發套件NDK(native develop kit)讓咱們更加便利的實現Android平臺與native代碼之間的交互github
做爲開端,本篇文章將簡單介紹咱們使用NDK能夠作哪些事情,實現哪些功能web
下面,正文開始!安全
使用NDK能夠作什麼?
NDK開發並不難,由於NDK只是開發工具,但前提是掌握了C/C++相關的語言基礎,JNI相關的調用API,以及Cmake相關的編譯知識,本系列也會在此基礎上進行的展開分析markdown
安全相關
將部分代碼放在C語言中去實現,能夠增長逆向分析的難度,對程序來講也更安全。針對這一塊目前沒有發現比較好的開源庫,後面我會本身去作一些代碼示例,或者作成開源庫的形式網絡
處理音頻(Audio)
- audio-echo: github.com/android/ndk…
- oboe: github.com/android/ndk…
- opensl es: github.com/android/ndk…
- MIDI: github.com/android/ndk…
處理視頻(Video)
- codec: github.com/android/ndk…
- openMAX: github.com/android/ndk…
- ffmpeg: github.com/FFmpeg/FFmp…
處理圖片(Picture)
- plasma effect : github.com/android/ndk…
- webp: github.com/android/ndk…
- image-p3: github.com/android/ndk…
神經網絡(Neural Network)
- NNAPI: github.com/android/ndk…
OpenGL(Render with OpenGL)
- render tea port: github.com/android/ndk…
- render san angles: github.com/android/ndk…
- sensor graph: github.com/android/ndk…
- GLES2.0: github.com/android/ndk…
5 .GLES3.0 : github.com/android/ndk…less
遊戲開發(3D Game)
github.com/android/ndk…ide
後記
在下面的文章中,我將逐項分析相關源碼,並拓展實現相關功能,感興趣的小夥伴能夠關注一波!工具
我是釋然,咱們下篇文章再見!