前段时间公司的SDK开发,核心逻辑要改用C/C++(花了点时间把还给老师的,重新拾回),我就把NDK开发相关资料文档整理一下方便你我他。
预备概念:
JNI:
它提供了若干的API实现了Java和其他语言的通信(主要是C/C++),这是JAVA层面的标准,我的理解就是C/C++调用这些接口转换成JAVA能“听”得懂的语言
NDK:
我的理解就是Android里Java和C/C++通信所需要的开发环境工具包(类似于使用JAVA要用JDK)
CMake:
我的理解就是编译工具,类似于Android Studio里的Gradle
如果我理解错误,希望指出。
准备动作:
首先国际惯例最权威官方:googlesamples/android-ndk
CMake:
Android Studio 2.2 更方便地创建JNI项目-CMake
JNI:
Android JNI编程—JNI基础
Android JNI编程—JNI函数大全
C/C++
以前同事,曾经的黑客推荐的几本书和在线文档
在线文档:
C文档
C++文档
C 语言标准函数库速查
C++ 教程(如果不适应cppreference的目录结构可参考这个)
PDF电子书下载:
C语言入门经典.pdf
C.Primer.Plus中文版.pdf
C++11中文版.pdf
起飞:
Android NDK 开发之旅,我只能帮到你这,有googlesamples的例子,有基础概念,有C/C++文档。接下来只能靠你自己了,Just do IT.
后记:
为什么不整理写一篇完整教程呢?我觉得没必要,都是一些概念性的东西和流程化,写了也只是大同小异。所以直接引用