Android Studio 中 NDK 开发之JNI开发规范
2017-10-02 11:03
295 查看
NDK解释:
Ndk一套工具的集合,Android NDK 是在SDK前面又加上了“原生”二字,即Native Development Kit,因此又被Google称为“NDK”。众所周知,Android程序运行在Dalvik虚拟机中,NDK允许用户使用类似C / C++之类的原生代码语言执行部分程序。NDK包括了:从C / C++生成原生代码库所需要的工具和build files。将一致的原生库嵌入可以在Android设备上部署的应用程序包文件,支持所有未来Android平台的一系列原生系统头文件和库
2.JNI定义:
JNI属于java 虚拟机的一部分,使用JNI可以使Java代码和其他语言写的代码(如C/C++代码)进行交互。
使用环境:
java api不能满足我们程序的需要的时候
算法计算,图像渲染,效率要求非常高的时候
当需要访问一些已有的本地库
3.配置NDK开发环境(基于Android Studio)
1.首先下载NDK并设置路径
2.如果已经下载,跳过第一步,然后配置
3.在local.properties添加ndk路径(像SDK一样)
4.在gradle.properties中添加android.useDeprecatedNdk=true好了环境
4.现在开始写代码了
先创建java类
getFromC();方法会报红(暂时不用管),然后用java.h命令生成.h文件,javah -d jni -classpath F:\AndroidStudioProjects\MyApplication\ndk_jni\build\intermediates\classes\debug com.ndk_jni.cn.JniTest
命令执行后会在 main 目录下(在哪个目录下执行就会在哪个目录下生成 .h 文件)自动生成 “jni” 文件夹,同时生成一个 .h 的文件, 这个.h文件不做修改,回到那个刚才报红的getFromC()方法,按下Alt+Enter键会帮你生成.c文件
最后在 build.gradle defaultConfig 中添加如下代码
到这里,jni 调 C 就完成了,现在我们来测试一下,写个 TextView 显示一下调用的
运行一下显示结果为
ok,已经完成,如果又需要交流的地方可以留言哦 哈哈
Ndk一套工具的集合,Android NDK 是在SDK前面又加上了“原生”二字,即Native Development Kit,因此又被Google称为“NDK”。众所周知,Android程序运行在Dalvik虚拟机中,NDK允许用户使用类似C / C++之类的原生代码语言执行部分程序。NDK包括了:从C / C++生成原生代码库所需要的工具和build files。将一致的原生库嵌入可以在Android设备上部署的应用程序包文件,支持所有未来Android平台的一系列原生系统头文件和库
2.JNI定义:
JNI属于java 虚拟机的一部分,使用JNI可以使Java代码和其他语言写的代码(如C/C++代码)进行交互。
使用环境:
java api不能满足我们程序的需要的时候
算法计算,图像渲染,效率要求非常高的时候
当需要访问一些已有的本地库
3.配置NDK开发环境(基于Android Studio)
1.首先下载NDK并设置路径
2.如果已经下载,跳过第一步,然后配置
3.在local.properties添加ndk路径(像SDK一样)
4.在gradle.properties中添加android.useDeprecatedNdk=true好了环境
4.现在开始写代码了
先创建java类
getFromC();方法会报红(暂时不用管),然后用java.h命令生成.h文件,javah -d jni -classpath F:\AndroidStudioProjects\MyApplication\ndk_jni\build\intermediates\classes\debug com.ndk_jni.cn.JniTest
命令执行后会在 main 目录下(在哪个目录下执行就会在哪个目录下生成 .h 文件)自动生成 “jni” 文件夹,同时生成一个 .h 的文件, 这个.h文件不做修改,回到那个刚才报红的getFromC()方法,按下Alt+Enter键会帮你生成.c文件
最后在 build.gradle defaultConfig 中添加如下代码
ndk { moduleName "jary" //生成的so名字 abiFilters "armeabi", "armeabi-v7a", "x86" //输出指定三种abi体系结构下的so库。 stl "stlport_static" //打开.c 的 debug `` }
到这里,jni 调 C 就完成了,现在我们来测试一下,写个 TextView 显示一下调用的
运行一下显示结果为
ok,已经完成,如果又需要交流的地方可以留言哦 哈哈
相关文章推荐
- Android studio下JNI(NDK)开发
- Android Studio中NDK开发傻瓜教程(JNI)
- Android studio 使用ndk开发JNI
- Android Studio利用Gradle配置NDK-JNI开发环境
- Android NDK开发之旅(2):一篇文章搞定Android Studio中使用CMake进行NDK/JNI开发
- Android Studio开发NDK JNI
- Android Studio 配置JNI和NDK开发环境
- Android的JNI【实战教程】5⃣️---Android Studio 2.2 以上 NDK开发
- NDK 开发之 Android Studio 中使用 JNI
- Android studio环境下的 NDK(jni)开发
- Android studio中JNI-NDK开发打印LOG出现 undefined reference to `__android_log_print' 解决
- android studio 配置NDK环境进行JNI开发
- 使用Android Studio开发ndk-Jni(入门)
- 【android 开 发 】 - Android studio 下 NDK Jni 开发 简单例子
- Android Studio使用JNI和NDK进行开发
- Android studio下JNI(NDK)开发
- 【android 开 发 】 - Android studio 下 NDK Jni 开发 简单例子
- Android Studio上面使用Ndk JNI 开发工程
- NDK开发——Android Studio实现JNI
- Android Studio上NDK/JNI开发环境问题