一路走来 Android NDK 踩过的坑

在吐槽中寻求真理

且不说什么 Android NDK 开发学习方法,就说说踩坑吧,但愿大伙能在欢乐的吐槽声中学习进步,这就是本文意图

Android NDK 到底有多坑


命名规范

1.当你使用 native 关键字声明一个本地方法后,使用“javah 包名.类名”编译后,会生成“Java_包名(_分隔域)_类名_函数名(JNIEnv *env, ” 开头的函数名,第二个参数看 Java 里面的 native 方法是否有前缀 static,如果有就会是“jclass obj”,否则就是“jobject thiz”;
2.切记上述名字不可以改动,否则编译不会通过的,上述 JNI 中 C++ 函数名字是和 Java 严格对应的,因此如果改动 Java 中的文件,那么建议重新生成;

Java->C++ 数据传递

http://blog.csdn.net/sweetloverft/article/details/49905429

Android.mk 文件

http://blog.csdn.net/sweetloverft/article/details/49929613

Application.mk 文件

动态库 VS 静态库

动态库:体积小,Android 动态库不宜过多,过多影响性能;
静态库:体积大,性能较高;
库中库:动态库内部包含静态库,不要用静态库内部包含动态库。

Android 音视频开发


视频预览

OpenGL ES 视频绘制

音频开发

我是如何掉入坑里面又爬起来的

你可能感兴趣的:(一路走来 Android NDK 踩过的坑)