Android studio ndk 第一个测试

原创 2016年08月31日 16:35:05

1.配置android studio ndk环境
这里写图片描述
主要是ndk location,sdk 路径要正确
2. 在你的工程目录下新建一个类,在类里面什么你的方法,主要是要声明一个native关键字。
这里写图片描述
现在方法是红色的没有关系
3.用命令生成.h文件,然后通过.h文件创建我们实际要实现方法的.c文件。
(1)首先我们要重新编译一些,因为我们创建TestJni类后还没有生成类在我们的build文件里面如下图
这里写图片描述
注意这个位置是在 app/build/intermediates/classes/debug目录下,这个是工程编译后存放地址( 切记不要再往下面层级跳了,不然javah -jni命令不行,我也不知道为何,我试了很久,感觉是android studio的一个bug)
这里写图片描述
这里写图片描述
这个时候说明已经有了,因为我们后面步骤需要跳转到这个地址 进行生成.h文件
(2)teminal窗口跳转到debug文件下,用javah -jni 工程名.xxx.TestJni 生成.h文件
这里写图片描述
这个时候在debug目录下生成一个.h 文件 ,然后在app main目录下新建一个jni 目录,把那个.h文件剪切到jni目录。
这里写图片描述
然后再new 一个.c文件。文件名字你随便取。把.h文件里面的方法声明取过来,然后在参数上不齐,这里只是返回一个简单的字符串,如果想要复杂的逻辑,自己c++写就是了。
.h文件内容
这里写图片描述
.c文件内容
这里写图片描述
可以看出 返回名字是按照一定的规则生成的,这个是jni的规则生成。.c 文件要补足方法 参数,然后返回字符串 ,后来发现这里有点失误,要去掉 jstring 前面的JNIEXPORT 只能有一个返回类型
4. 然后配置app 下面的build.gradle 配置ndk 如图 在android studio 不需要去配置Android.mk文件,系统已经在build的生成上配置了。所有只需要在defaultConfig 配置ndk子项,
ndk {
// 设置支持的 SO 库构架
moduleName= ‘test’
abiFilters ‘armeabi’, ‘armeabi-v7a’, ‘arm64-v8a’, ‘x86’, ‘x86_64’, ‘mips’, ‘mips64’
}
其中moduleName的名字很重要,是一个表示,对生成的so文件的名称和加载时候的标示。abiFilters 是生成不同指令集的c代码,不需要修改,直接用就是。
sourceSets {
main {
jniLibs.srcDirs = [‘libs’]
}
}
是配置src的目录,需要配置。
新建c文件
修改的build.gradle
这里写图片描述
这里就是android studio 已经帮我们编写的android.mk文件
这个文件和用eclipse自己编写的文件差不多吧
这里写图片描述
这个文件需要第5步做了后,点击编译后生成的
5.最后修改全局的gradle.properties 这个文件修改配置ndk设置
android.useDeprecatedNdk=true
这里写图片描述
6.然后就是怎么使用的问题了。
现在稍微修改下我们编写的文件
这里写图片描述
这里写图片描述
这里你就随便找个地方测试下返回的值是否是你在c文件写的一样
这里写图片描述
这里就是我们编写的so文件地方
这里写图片描述

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Android Studio 配置NDK,运行第一个hello-jni安卓程序详细步骤

0 前言    本文是我一边操作一边截图记录下来的。理论上来说,如果你环境没有大问题的话,是可以成功运行出结果的。 1 准备工作 已经安装好android studio,  我安装的版本是Andr...

android studio external tool + ndk测试

1.安装NDK 打开Tools->Android->SDK Manager->SDK Tools选中LLDB和NDK,点击确认,软件会自动安装NDK。 2.自定义命令 javah: P...

Android Studio 的 instrumentation测试(第一个练习)

由于项目需要,研发要使用5.0以上的Android版本,此时eclipse不更新了,只有使用Android Studio,那么自动化测试用例也就需要使用 Android Studio,通过查找一些文...

Android studio NDK笔记1-NDK配置,你的第一个JNI

总结下Android studio配置NDK的过程,实现你的第一个jni(Java native interface). 下载NDK 1.官方下载地址:https://developer.andr...

NDK入门(一) 在Android Studio中创建并运行第一个ndk程序hello world

在Android Studio中运行第一个ndk程序hello world简介最近开始自学NDK,所有做一个笔记用来记录。另外本文适合没有ndk基础的朋友学习使用。 感谢官方中文文档的翻译者。 官...

VS2005+WINDDK+Driver Studio 3.2编译出第一个测试驱动程序 zz

http://blog.csdn.net/zzqccc/article/details/4151142 搭建好windows设备驱动程序的开发环境,终于能在VS2005中编译出第一个测试驱动...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)