Android NDK开发

       最近准备换工作了,简历上有ndk开发的技能始终是一大亮点。于是就来捣鼓捣鼓NDK开发。关于网上的关于NDK开发的文章真的是太多了,但是就算是按照他们的步骤一步步来都是入了很大的坑。有时候我都觉得是我人品太不好了吧。感觉电脑或Android studio都和我作对,哈哈哈。为何别人的在我这里来总是有太多坑了。如今坑已填。必须得记录一下

1.在进行ndk开发之时首先是要检查一下ndk是否安装,且是否配置好环境变量。此步省略。网上搜索有很多

2.Android studio新建一个DNKDemo的项目:

关于上面打勾的地方,如果不打勾就是咱们平时建的工程,也可进行NDK开发。如果打勾了新建的项目下面有一个cpp文件夹,并且在MainActivity类里会给你新建一个对应的native方法和对应的调用示例如下。但是采用打勾的方式在生成so的时候报错了,因为生成so库是默认是在jni夹下,对于怎么修改我就没有仔细研究啦。对于这个问题咱也不敢向谷歌说,咱也不敢问。哪位大佬知道请告知一下小弟我。在此先谢谢啦。所以后面的步骤成功生成so库的是没有打勾的项目啦。当然我会把打勾的进行到哪一步了的步骤图在最后面贴出来。

3.在项目下新建一个NDKTest的类,用于写我们的native方法

4.生成.h的头文件,这步很多网上的命令我都生成失败报各种错,这就是我入的第一个坑了。

我们在工程的目录下会找到生成的jni目录和头文件了:

5.在jni目录下新建NdkTest.cpp的C++文件,用于编写我们的c++方法了。然后再新建Android.mk,Application.mk文件,cpp文件对应的就是我们的native方法了

 

下图为Android.mk文件的内容:注意这里面的内容不容出错

下图为application.mk文件夹的内容:

6.进入jni目录下使用ndk-build命令生成so库

 

 

 

 

后面的图为打勾的步骤图

生成头文件

生成so库,报错

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android NDK开发是指利用NDK(Native Development Kit)将C/C++开发的代码编译成so库,然后通过JNI(Java Native Interface)让Java程序调用。在Android开发中,默认使用的是Android SDK进行Java语言的开发,而对于一些需要使用C/C++的高性能计算、底层操作或跨平台需求的场景,可以使用NDK进行开发。 在Android Studio中进行NDK开发相对于Eclipse来说更加方便,特别是在Android Studio 3.0及以上版本中,配置更加简化,并引入了CMake等工具,使得开发更加便捷。首先要进行NDK开发,需要配置环境,包括导入NDK、LLDB和CMake等工具。可以通过打开Android Studio的SDK Manager,选择SDK Tools,在其中选中相应的工具进行导入。 在项目的build.gradle文件中,可以配置一些NDK相关的参数,例如编译版本、ABI过滤器等。其中,可以通过externalNativeBuild配置CMake的相关设置,包括CMakeLists.txt文件的路径和版本号。此外,在sourceSets.main中还可以设置jniLibs.srcDirs,指定so库的位置。 在进行NDK开发时,可以在jni文件夹中编写C/C++代码,并通过JNI调用相关的函数。通过JNI接口,可以实现Java与C/C++之间的相互调用,从而实现跨语言的开发。 综上所述,Android NDK开发是指利用NDK将C/C++开发的代码编译成so库,并通过JNI实现与Java的相互调用。在Android Studio中进行NDK开发相对方便,可以通过配置环境和相应的参数来进行开发。<span class="em">1</span><span class="em">2</span><span class="em">3</span>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值