AS中使用NDK
来源:互联网 发布:wamp怎么运行php 编辑:程序博客网 时间:2024/06/15 04:22
AS中使用NDK
方法一:
AS中内置了jni的使用配置,因此只需要在新建项目的时候勾选”include C++ support”即可。
具体操作参考:最新AS中如何使用NDK?
方法二:
1.安装配置NDK
1)解压NDK的zip包到非中文目录
2) 配置path : 解压后NDK的根目录—–>ndk-build
2.给AS配置关联NDK
1)local.properties中添加配置
ndk.dir=D:\android-ndk32-r10-windows-x86_64\android-ndk-r10
2)gradle.properties中添加配置
android.useDeprecatedNdk=true
3.编写native方法:
public class JNIS { public native String helloJNI();}
4.定义对应的JNI
1)在main下创建jni文件夹
2)生成native方法对应的JNI函数声明头文件: 命令窗口中, 进入java文件夹
执行命令: javah com.atguigu.jnitests2.JNIS
生成头文件: com_atguigu_jnitests2_JNIS.h
函数声明: JNIEXPORT jstring JNICALL Java_com_atguigu_jnitests2_JNIS_helloJNI(JNIEnv *, jobject);
3)将生成的头文件转移到jni文件夹下
4)在jni下定义对应的函数文件: test.c
#include "com_atguigu_jnitests2_JNIS.h"JNIEXPORT jstring JNICALL Java_com_atguigu_jnitests2_JNIS_helloJNI(JNIEnv * env, jobject jobj) { return (*env)->NewStringUTF(env, "Hello from C");}
5.指定编译的不同CPU
defaultConfig { ndk { moduleName "HelloJni" //so文件: lib+moduleName+.so abiFilters "armeabi", "armeabi-v7a", "x86" //cpu的类型 }}
6.编译生成不同平台下的动态链接文件
1)执行rebuild, 生成so文件
2)so文件目录: build\intermediates\ndk\debug\lib…..
7.调用native方法:
1)在native方法所在的类(如:MainActivity)中加载so文件
static { System.loadLibrary("HelloJni");}
2)在Activity中调用native方法:
String result = new JNIS().helloJNI();Log.e("TAG", "result = " + result);
- AS中使用NDK
- 最新AS中如何使用NDK?
- AS ndk 使用小节
- ndk-gdb中run-as问题
- 使用AS的NDK工具开发JNI
- NDK的基础使用(AS版)
- AS中使用pulltorefresh
- AS中使用git
- NDK使用中常见问题
- AndroidStudio中使用NDK
- Android中使用NDK
- 使用ndk-build方式在as调用jni
- AS——android NDK开发工具使用
- Android NDK系列(二)-AS使用CmakeLists生成so文件
- AS之NDK配置
- as ndk错误解决
- AS开发NDK/JNI
- AS内开发NDK
- 第10周项目4- 哈夫曼编码的算法验证
- 设计模式(18)——备忘录 Memento
- VB.NET编写图灵聊天机器人程序
- Retrofit2源码解析02-创建Call
- Ubuntu 修改IP 后SSH 失败
- AS中使用NDK
- JavaGUI游戏准备----工具类的创建
- Socket编程-TCP非阻塞方式
- 第三章
- 多线程I
- 与别校的联hu考zuo(11.4)
- Qt 实现被鼠标悬浮的图片放大显示
- 设计模式(19)——观察者 Observer
- 排序算法总结