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 Studio2.2 中支持NDK开发HelloJNI例子

Android Studio 2.2 中支持NDK开发HelloJNI例子首先说一下运行的开发环境 * Win7 64位 * Android Studio 2.2 * NDK版本是64位 r13...

Android Studio ndk-Jni开发 示例

Java Native Interface (JNI)标准是java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI 是本地编程接口,它使得在 Java 虚拟机 (VM) 内部运行的...

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

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

Android NDK探究奥秘一:Android Studio创建第一个JNI项目

android studio开发NDK还是很方便的。无论是ndk-build还是cmake方式。c/c++来实现,让开发人员越来越懒。...

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,通过查找一些文...

NDK-JNI实战(一) 在Android Studio运行第一个NDK程序

介绍。 第二步就是就是直接写代码了。哈哈,你没听错,是这样的,方便吧?至于下载下来的NDK怎么和AS工程关联,也就是一行配置的问题,后文有说明带你一步一步体验。 But,还是要有个but,Androi...

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

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

Android Studio ndk的开发(我的第一个ndk程序)

第一次写博客,就是想做一些笔记,以防忘记,有什么不对的地方希望指正。 1、创建项目 MyFirstNdkDemo,在main目录下新建jni文件夹 2、在gradle.proper...

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

在Android Studio中运行第一个ndk程序hello world简介最近开始自学NDK,所有做一个笔记用来记录。另外本文适合没有ndk基础的朋友学习使用。 感谢官方中文文档的翻译者。 官...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android studio ndk 第一个测试
举报原因:
原因补充:

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