前言
做为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
后记
在下面的文章中,我将逐项分析相关源码,并拓展实现相关功能,感兴趣的小伙伴能够关注一波!工具
我是释然,咱们下篇文章再见!