有关Android NDK开发的相关问题,仍然有不少网友存在问题,下面就常见的问题Android123总结如下: 1. Android 1.5如果调用C++库,都支持哪些方法? 由于Android 1.5 API Level为3,当初提供的类和函数可以在NDK下查看include目录中找到<cstddef>、 <new>、 <utility> 和 <stl_pair.h> 可以看到都是语言运行库和基本的数据类型。 2. NDK下的log支持,这里大家可以包含<android/log.h>这个头文件,同时在mk文件中加入LOCAL_LDLIBS := -llog 这个库文件即可。 3. NDK下处理Zip文件的压缩、解压处理通过zlib库来解决,Android内置了zlib库可以通过包含<zlib.h> 和 <zconf.h>两个头文件解决,LOCAL_LDLIBS := -lz。 以上的都可以在Android 1.5或更高的固件上运行,而对于Android 2.0到2.1之间的三个版本主要是OpenGL ES的支持。
NDK开发
Android NDK开发技巧二 Android开发技术
Android NDK相关的开发技巧我们将在今后经常总结,方便网友参考,有关JNI的使用可以查看 Android JNI开发入门篇 、Android JNI开发提高篇、Android JNI开发进阶篇 、Android JNI开发高级篇 和 Android JNI开发终极篇。 Android NDK对于我们的作用和基本常识在 Android NDK开发技巧一 中已经讲明了,今天谈论下实战的技巧吧 1. 在JNI中打印Logcat,首先我们需要在cpp文件中加入 #include <android/log.h> 这个头文件,NDK有关android自己的就给我们这个唯一的文件log.h,其他的需要我们自己hack diy来解决。 jstring jlog; //从Java传来需要打印的字符 jboolean isCopy; const char * szLog = (*env)->GetStringUTFChars(env, jlog, &isCopy); //将java的unicode字符转化为utf8字符 __android_log_print(ANDROID_LOG_WARN, “android123-cwj”, "from ndk = %s", szLog); //打印logcat (*env)->ReleaseStringUTFChars(env, jlog, szLog); // 释放内存} 上面这段比较简单,其中使用__android_log_print函数打印Logcat,第一个参数为log的level,在log.h头文件中定义了 ANDROID_LOG_UNKNOWN = 0、 ANDROID_LOG_DEFAULT, /* […]

