android 调用jni 的简单步骤
2015-09-15 11:16
645 查看
1.交叉编译 在Linux下的文件主要是.elf等格式 在window下执行的文件为.EXE JNI就是联系两者 谷歌提供了一个工具-NDK
2.步骤: 1. 在java中定义方法 public native String sayHello();
2. 在工程中创建jni 文件夹,并创建hello.c 文件 在其中编写C代码;
3. 先声明 #include<stdio.h>
#include<stdlib.h>
#include<jni.h>//jobject jobj 谁调用了这个方法 就这指的是谁 当前是MainActivity.this
jstring Java_com_andson_jnihellodemo_MainActivity_sayHello( JNIEnv* env,jobject jobj ){}
4. 创建并编写Android.mk (创建关联文件) (标明 C文件和库文件)文件在ADT文件中
5. 在工程文件下运行 cmd ndk -build(编译)
6. 在Java 中调用方法前 加载动态链接库 System.loadLibrary(" andson ");
注意的点:
3.只要修改C代码 都需要重新编译;
4.Java的方法中如果有下划线 在C代码中需要加 1 ;还可以使用javah 的方法生成头文件
5.支持什么运行系统 是看是否在编译的时候再Application.mk 文件中是否选择了相关系统
6. android tool 的 add native surpport 改文件成C
2.步骤: 1. 在java中定义方法 public native String sayHello();
2. 在工程中创建jni 文件夹,并创建hello.c 文件 在其中编写C代码;
3. 先声明 #include<stdio.h>
#include<stdlib.h>
#include<jni.h>//jobject jobj 谁调用了这个方法 就这指的是谁 当前是MainActivity.this
jstring Java_com_andson_jnihellodemo_MainActivity_sayHello( JNIEnv* env,jobject jobj ){}
4. 创建并编写Android.mk (创建关联文件) (标明 C文件和库文件)文件在ADT文件中
5. 在工程文件下运行 cmd ndk -build(编译)
6. 在Java 中调用方法前 加载动态链接库 System.loadLibrary(" andson ");
注意的点:
3.只要修改C代码 都需要重新编译;
4.Java的方法中如果有下划线 在C代码中需要加 1 ;还可以使用javah 的方法生成头文件
5.支持什么运行系统 是看是否在编译的时候再Application.mk 文件中是否选择了相关系统
6. android tool 的 add native surpport 改文件成C
相关文章推荐
- Android IOS WebRTC 音视频开发总结(四一)-- QQ和webrtc打洞能力pk
- 最全Android开发常用工具类
- Android4.4 Framework分析——startService创建过程
- Android平台开发-WIFI function porting-WIFI功能移植
- Android学习之调用系统应用打开文件
- Android Studio更新升级方法
- Android --账户注销
- android中wifi的上下层的连接、命令发送
- Android HandlerThread 源码分析
- android学习 关于contentprovider
- Android中的跨应用服务通信
- android BroadcastReceiver(一)
- android.support.v4.view.ViewPager 如何动态更换显示内容
- android异步任务详解 AsynTask
- 代码设置Android EditText的相关问题。输入长度maxLength
- android button控件目前主要有如下几种监听方式
- mac 下安装android studio(转)
- android使用achartengine实现各种图形绘制
- Android中解析XML
- Android代码中添加打印信息