6月 182018
 

NDK 是干啥的?
全称 Native Development Kit, 允许你在 Android 应用中使用 C 或 C++ 代码

NDK 的好处
NDK 可以生成 .so 文件, 方便代码共享
增加反编译的难度
提高性能

准备工作
在 Android Studio 里下载好 NDK

Android Studio 2.2 稳定版已发布,这个版本增强了 C++ 的开发能力,能够使用 ndk-build 或 CMake 去编译和调试项目里的 C++ 代码

ndk-build 或 CMake 比用 Gradle 去编译 C++ 更好

因为 NDK 套件里自带 ndk-build, 不需要再额外安装 CMake, 为了简单起见以下示例都用 ndk-build 去编译 C++

注意
为了能够在 Android Studio 里使用 CMake 或 ndk-build,你必须使用 Android Studio 2.2 或更高版本 和 Android Plugin for Gradle version 2.2.0 或更高版本
由于 Android Studio 编译 C 和 C++ 代码默认使用 CMake, 因此我建议使用 Experimental Android Plugin for Gradle 的用户也切换到 Android Plugin for Gradle version 2.2.0 或更高版本,这样既可以使用 Android Plugin for Gradle 的稳定版本,也可以使用 CMake 或 ndk-build 来提高编译速度
Android.mk 和 Application.mk

简单来说
Android.mk 用来描述需要生成哪些模块的 .so 文件
Application.mk 用来描述如何生成 .so 文件,生成静态库还是动态库

更多参考 https://developer.android.com/ndk/guides/concepts?hl=zh-cn

  发表于 22:05  Tagged with:

 回复

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>