AS配置NDK开发环境,附CMake、NDK-build构建工具用法

注意:Android Studio需要是1.3及以上版本,且版本号小于2.2,见文末说明。

步骤1:新建一个项目,打开Project Structure,设置Android NDK Location目录。
ndk_file.png
如果没有提前下载NDK包,可打开SDK Manager下载,如图:
ndk_download.png
步骤2:新建一个类,写一个本地Native方法。
native_method.png
由于没有头文件,因此,图示中的新建本地方法sayHello()会报错。

生成头文件方法:
打开AS的Terminal窗口,切换到app(可自定义项目名)->src->main->java目录,运行命令javah -d …/jni com.example.administrator.ndktest.Hello。
其中,
  javah为生成头文件的命令符号,
  -d表示指定头文件的输出目录,
  …/jni表示在当前目录的上一层目录生成jni目录,
  com.example.administrator.ndktest.Hello表示包名.类名,针对Hello.java生成头文件。
generate_headerFile.png
  命令执行成功后,会在java同级目录下生成jni目录,内含头文件。然后,点击AS的项目同步按钮(Sync Projects with Gradle Files)让jni代码同步。

若同步之后,报图示的错误,请在项目的gradle.properties中添加代码android.useDeprecatedNdk=true,然后再次点击同步按钮。
ndk_exception.png
步骤3:在jni目录下新建C/C++ Source File,Name名称与生成头文件的类名相同即可(此处即Hello),选中Create an associated header复选框,点击ok,jni目录下会生成hello.cpp和hello.h文件。
c++_1.png
c++_2.png
c++_3.png
步骤4:打开jni下的hello.cpp文件,导入头文件com.example.administrator.ndktest.Hello.h,实现
JNIEXPORT jstring JNICALL Java_com_example_administrator_ndktest_Hello_sayHello
(JNIEnv , jclass);
方法。代码见图示。
1.png
2.png
步骤5:打开Module下的build.gradle,在defaultConfig{}中添加脚本代码
ndk{
/指定.so文件名称为hello.so,NDK的配置选项可在NdkOptions.java中查找*/
moduleName “hello”
}
然后再次同步项目。
build_gradle.png
步骤6:回到Hello.java中,添加图示代码。
hello.png
未完待续(Android Studio 2.2以上版本按此方法配置无法成功)。

此文适合Android Studio 2.2之前的版本,因此建议参考以下转载文章:
Android NDK开发(一) 使用CMake构建工具进行NDK开发
Demo地址:https://github.com/Cayyoo/NDKDemo

Android NDK开发(二) 使用ndk-build构建工具进行NDK开发
Demo地址:https://github.com/Cayyoo/NDKBuild

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值