【一塊兒來玩NDK】篇一:很差意思,學會NDK真的無所不能

前言

做爲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) 

  1. audio-echo: github.com/android/ndk…
  2. oboe: github.com/android/ndk…
  3. opensl es: github.com/android/ndk…
  4. MIDI: github.com/android/ndk…

處理視頻(Video)

  1. codec: github.com/android/ndk…
  2. openMAX: github.com/android/ndk…
  3. ffmpeg: github.com/FFmpeg/FFmp…

處理圖片(Picture)

  1. plasma effect : github.com/android/ndk…
  2. webp: github.com/android/ndk…
  3. image-p3: github.com/android/ndk…

神經網絡(Neural Network)

  1. NNAPI: github.com/android/ndk…

OpenGL(Render with OpenGL)

  1. render tea port: github.com/android/ndk…
  2. render san angles: github.com/android/ndk…
  3. sensor graph: github.com/android/ndk…
  4. GLES2.0: github.com/android/ndk…

5 .GLES3.0 : github.com/android/ndk…less

遊戲開發(3D Game)

github.com/android/ndk…ide

後記

在下面的文章中,我將逐項分析相關源碼,並拓展實現相關功能,感興趣的小夥伴能夠關注一波!工具

我是釋然,咱們下篇文章再見!

相關文章
相關標籤/搜索