Android Studio进行JNI开发的操作过程

本文详细介绍在Android平台上使用JNI开发的基本步骤。从安装配置NDK开始,到创建项目、添加native方法声明、编写C代码,直至生成so文件并调用。适合初学者快速上手。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前一直在Eclipse上进行的JNI开发,最近在Android上进行开发的时候,发现都不知道该怎么去做。后来通过百度把问题解决了,下面把开发的流程记一下,方便学习和复习:
预备工作:
第一步,安装NDK,可以在SDK tools中直接下载:
这里写图片描述
第二步:配置系统环境。当安装完之后,进入sdk的目录下(注意不要有中文路径!),找到ndk-bundle的文件夹:
这里写图片描述
第三步:进入ndk-bundle目录,拷贝ndk-bundle的资源路径,打开环境变量设置,将其添加至环境变量path中:
这里写图片描述
到此,预备工作结束。如果前面已经进行过先关操作,可以无视,直接进入开发的过程啦~,下面以一个例子进行说明:
第一步:创建一个新的项目,将项目结构切换至project层次,找到local.properties,打开,确认 是否添加到了ndk路径,如果没有,手动添加,注意要进行语义转换。
这里写图片描述
第二步:打开gradle.properties,在底部添加以下代码,兼容老版本的ndk:

android.useDeprecatedNdk=true

第三步:
在类中声明native方法,并且设置加载动态链接库:
这里写图片描述
第四步:
在mian目录下,新建一个jni(与java项目同级)的文件夹,里面存放c代码,例如:
这里写图片描述
第五步,打开build.gradle,在android{
。。。
}
中添加以下代码

sourceSets {
            main {
             jni.srcDirs=[]
             jniLibs.srcDir 'src/main/jni_src'//告知jni源码目录
            }
        }
        ndk{
            moduleName "Hello"//动态链接库名称与这里一致
            abiFilters "armeabi", "armeabi-v7a", "x86"
        }

添加完毕之后,rebuild project,成功后在app->build->intermediates目录下发现有一个ndk的文件夹,里面便存放着编译后的so文件
这里写图片描述
接下来,就可以在项目中调用native方法啦!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值