JNI学习笔记
来源:互联网 发布:桥林中学的网络 编辑:程序博客网 时间:2024/04/29 20:25
1.使用JNI常见错误类型:
常见错误
* findLibrary returned null
* CPU平台不匹配
* 加载类库时,写错类库名字
* 本地方法找不到
* 忘记加载类库
* c代码中方法名写错了
2.传递数组
public class MainActivity extends Activity {static{System.loadLibrary("hello");} @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } int[] arr = {1,2,3,4,5}; public void click(View v){ arrayEncode(arr); for (int i : arr) {System.out.println(i);} } public native void arrayEncode(int[] arr);}理解记忆:
int length = (*env)->GetArrayLength(env, jintarr);
int* arrp = (*env)->GetIntArrayElements(env, jintarr, 0);
#include <jni.h>JNIEXPORT void JNICALL Java_com_itheima_array_MainActivity_arrayEncode (JNIEnv * env, jobject obj, jintArray jintarr){//拿到整型数组的长度以及第0个元素的地址 //jsize (*GetArrayLength)(JNIEnv*, jarray);int length = (*env)->GetArrayLength(env, jintarr); //jint* (*GetIntArrayElements)(JNIEnv*, jintArray, jboolean*);int* arrp = (*env)->GetIntArrayElements(env, jintarr, 0);int i;for(i = 0;i < length; i++){*(arrp + i) += 10;}}
0 0
- jni学习笔记
- JNI学习笔记
- JNI入门学习笔记
- android JNI 学习笔记
- android JNI 学习笔记
- android jni 学习笔记
- android JNI 学习笔记
- Android JNI 学习笔记
- JNI学习笔记
- JNI学习笔记
- JNI 学习笔记
- JNI学习笔记一
- JNI学习笔记二
- JNI学习笔记三
- JNI学习笔记四
- JNI学习笔记五
- JNI学习笔记六
- JNI学习笔记
- 为Python安装easy_install工具
- Android View中onSave(),onRestore(),getWidth(),getMeasureWidth()方法解析
- VS2012其中的一个小BUG
- Docker核心技术
- 邮局选址问题
- JNI学习笔记
- iOS 计算某个时间到现在是多少月/天/时的代码
- Mac上OpenFire启动失败解决方案
- Google Chrome 浏览器 开发者工具 使用教程
- 有关 Python 2 和 Sublime Text 中文 Unicode 编码问题的分析与理解
- Sping+mybatis全注解模式下
- LRU算法学习
- Iterator和ListIterator
- 你不知道的CSS单位