NDk在As的流程
来源:互联网 发布:mac奶瓶粉底液 编辑:程序博客网 时间:2024/05/22 04:43
2.2AS之前:
1. 安装配置NDK
1). 解压NDK的zip包到非中文目录
2). 配置path : 解压后NDK的根目录----->ndk-build
2. 给AS配置关联NDK
1). local.properties中添加配置
ndk.dir=F\:\\android-ndk32-r13(ndk地址)
2). gradle.properties中添加配置
android.useDeprecatedNdk=true 作用:兼容老版本
3).在2.2后默认Cmake运行,前两个不要你弄了。
2.2AS版本之后:
1:首先需要下载NDK,来到设置界面点击下载NDK,安装完NDK,还可以选择配置一些工具。
2:CMake: 外部构建工具。如果你准备只使用 ndk-build 的话,可以不使用它。(Android Studio2.2默认采用CMake)LLDB: Android Studio上面调试本地代码的工具。
3:在创建新的project时,界面上多了一个Include C++ Support的选项。
勾选它之后将会创建一个默认的C++与JAVA混编的Demo程序。然后一路 Next,直到 Finish 为止即可。
#NDK开发流程
1:在java中写native代码
2:写c代码,生成头文件
3:配置动态链接库的名称
4:加载动态链接库
5:使用
1. 编写native方法:
4. 定义对应的JNI
1). 在main下创建jni文件夹
2). 生成native方法对应的JNI函数声明头文件: 命令窗口中, 进入java文件夹
执行命令: javah com.example.administrator.my.JNI
3). 将生成的头文件转移到jni文件夹下
5. 指定编译的不同CPU
}
6. 编译生成不同平台下的动态链接文件
1). 执行rebuild, 生成so文件
2). so文件目录: build\intermediates\ndk\debug\lib\.....
7. 调用native方法:
1). 在native方法所在的类中加载so文件
static {
System.loadLibrary("Hello");
}
1. 安装配置NDK
1). 解压NDK的zip包到非中文目录
2). 配置path : 解压后NDK的根目录----->ndk-build
2. 给AS配置关联NDK
1). local.properties中添加配置
ndk.dir=F\:\\android-ndk32-r13(ndk地址)
2). gradle.properties中添加配置
android.useDeprecatedNdk=true 作用:兼容老版本
3).在2.2后默认Cmake运行,前两个不要你弄了。
2.2AS版本之后:
1:首先需要下载NDK,来到设置界面点击下载NDK,安装完NDK,还可以选择配置一些工具。
2:CMake: 外部构建工具。如果你准备只使用 ndk-build 的话,可以不使用它。(Android Studio2.2默认采用CMake)LLDB: Android Studio上面调试本地代码的工具。
3:在创建新的project时,界面上多了一个Include C++ Support的选项。
勾选它之后将会创建一个默认的C++与JAVA混编的Demo程序。然后一路 Next,直到 Finish 为止即可。
#NDK开发流程
1:在java中写native代码
2:写c代码,生成头文件
3:配置动态链接库的名称
4:加载动态链接库
5:使用
1. 编写native方法:
public class JNI { { System.loadLibrary("Hello"); } public native String sayHello();}
4. 定义对应的JNI
1). 在main下创建jni文件夹
2). 生成native方法对应的JNI函数声明头文件: 命令窗口中, 进入java文件夹
执行命令: javah com.example.administrator.my.JNI
生成头文件: com_example_administrator.my_JNI.h
/* DO NOT EDIT THIS FILE - it is machine generated */#include <jni.h>/* Header for class com_example_administrator_my_JNI */#ifndef _Included_com_example_administrator_my_JNI#define _Included_com_example_administrator_my_JNI#ifdef __cplusplusextern "C" {#endif/* * Class: com_example_administrator_my_JNI * Method: sayHello * Signature: ()Ljava/lang/String; */JNIEXPORT jstring JNICALL Java_com_example_administrator_my_JNI_sayHello (JNIEnv *, jobject);#ifdef __cplusplus}#endif#endif
3). 将生成的头文件转移到jni文件夹下
4). 在jni下定义对应的函数文件: Hello.c
string Java_com_example_administrator_my_JNI_sayHello(JNIEnv* env,jobject jobj){//jstring (*NewStringUTF)(JNIEnv*, const char*); char* text = "I am from c!!!"; return (*env)->NewStringUTF(env,text);}
5. 指定编译的不同CPU
defaultConfig {
ndk{ moduleName "Hello" //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方法所在的类中加载so文件
static {
System.loadLibrary("Hello");
}
2). 在Activity中调用native方法:
String result= new JNI().sayHello(); Log.e(TAG, "onCreate: "+result );
0 0
- NDk在As的流程
- AS之NDK开发流程
- AS下的NDK开发
- 在Android Studio中进行NDK开发的一般流程
- 关于AS集成ndk的问题总结
- 使用AS的NDK工具开发JNI
- NDK的基础使用(AS版)
- 在利用的ndk-r10d在 as中交叉编译动态库,出现的这个错误,切记,这个是ndk-r10d的一个bug,详细如下
- 使用ndk-build方式在as调用jni
- AS之NDK配置
- as ndk错误解决
- AS开发NDK/JNI
- AS内开发NDK
- AS NDK开发配置
- AS ndk 使用小节
- AS中使用NDK
- Android Studio NDk-JNi开发(二)AS下开发流程
- JNI和NDK编程(二)NDK的开发流程
- 十点多
- HBase详细概述
- JS正则表达式验证前台数据
- 诡异代码-JS-1
- 【Unity】DoTween插件的使用
- NDk在As的流程
- 目前几种图片格式
- 一站式学习Wireshark(十):应用Wireshark显示过滤器分析特定数据流(下)
- 优先队列
- 求职有用博客地址
- Atitit 数据库 标准库 sdk 函数库 编程语言 mysql oracle attilax总结
- 一种高效率的笔记法——康奈尔笔记法
- 133. Clone Graph
- MemoryModule阅读与PE文件解析(四)---深入理解TLS