随笔分类 -  jni技术

摘要:前段时间在做Android下jni的部分,遇到了一些bug和错误,找了好久,给整理了一下,留着以后查找方便 1.c和c++的 mk文件不一样,记着要区分。 网友给一个比较全的文件有: c++正确的mk文件: LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := TestSm3 L... 阅读全文
posted @ 2013-03-29 17:26 Andye 阅读(538) 评论(0) 推荐(0) 编辑
摘要:错误产生在我把方法从c语言转为c++语言后产生的,后来检查到这种错误是因为mk文件出错,加载c文件和加载c++的文件所用的代码不一样,下面请看: 错误为: Android.mk文件 c++的调用方法为: LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := TestNdk LOCAL_C... 阅读全文
posted @ 2013-03-29 17:17 Andye 阅读(1501) 评论(0) 推荐(0) 编辑
摘要:Android.mk文件增加LOCAL_LDLIBS += -llog C代码中增加 #include <android/log.h> #define LOG_TAG "System.out" #define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__) #define LOGI(...)... 阅读全文
posted @ 2013-03-29 17:11 Andye 阅读(1079) 评论(0) 推荐(0) 编辑
摘要:一、JNI(Java Native Interface,JAVA原生接口) 使用JNI可以使Java代码和其他语言写的代码(如C/C++代码)进行交互。问:为什么要进行交互?|- 首先,Java语言提供的类库无法满足要求,且在数学运算,实时渲染的游戏上,音视频处理等方面上与C/C++相比效率稍低。|- 然后,Java语言无法直接操作硬件,C/C++代码不仅能操作硬件而且还能发挥硬件最佳性能。|- 接着,使用Java调用本地的C/C++代码所写的库,省去了重复开发的麻烦,并且可以利用很多开源的库提高程序效率。二、C语言常见术语:库函数:|- 为了代码重用,在C语言中提供了一些常用的、用于执行一些 阅读全文
posted @ 2012-11-21 16:39 Andye 阅读(3176) 评论(0) 推荐(0) 编辑
摘要:目标:利用NDK生成SO库,使用SO库进行JNI调用,在Android sdcard创建文件并写入数据。工具:NDK1.5 R1, android SDK1.5 R1, SDCARD, Eclipse , ADT 0.9, Eclipse Galileo for C/C++, Cygwin 1.5。... 阅读全文
posted @ 2012-11-21 16:31 Andye 阅读(2256) 评论(0) 推荐(0) 编辑