随笔分类 - jni技术
摘要:前段时间在做Android下jni的部分,遇到了一些bug和错误,找了好久,给整理了一下,留着以后查找方便 1.c和c++的 mk文件不一样,记着要区分。 网友给一个比较全的文件有: c++正确的mk文件: LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := TestSm3 L...
阅读全文
摘要:错误产生在我把方法从c语言转为c++语言后产生的,后来检查到这种错误是因为mk文件出错,加载c文件和加载c++的文件所用的代码不一样,下面请看: 错误为: Android.mk文件 c++的调用方法为: LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := TestNdk LOCAL_C...
阅读全文
摘要: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(...)...
阅读全文
摘要:一、JNI(Java Native Interface,JAVA原生接口) 使用JNI可以使Java代码和其他语言写的代码(如C/C++代码)进行交互。问:为什么要进行交互?|- 首先,Java语言提供的类库无法满足要求,且在数学运算,实时渲染的游戏上,音视频处理等方面上与C/C++相比效率稍低。|- 然后,Java语言无法直接操作硬件,C/C++代码不仅能操作硬件而且还能发挥硬件最佳性能。|- 接着,使用Java调用本地的C/C++代码所写的库,省去了重复开发的麻烦,并且可以利用很多开源的库提高程序效率。二、C语言常见术语:库函数:|- 为了代码重用,在C语言中提供了一些常用的、用于执行一些
阅读全文
摘要:目标:利用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。...
阅读全文