Android skia简单应用
很简单的Skia 2D图形库的调用。
一、Skia 2D图形库
Skia是Google一个底层的图形、图像、动画、SVG、文本等多方面的图形库,它是Android中图形系统的引擎。
Skia的系统库为libskia.so、libskiagl.so(不同版本名称可能有出入)。而libjnigraphics.so图形库由于和其密切相关,一般会一同调用。
二、开始Skia工程
1)Java外壳
2)C/C++封装
2.1)我的环境
XP+Eclipse+Cygwin。并需要准备源码,这里是2.3.3_r1。
准备源码,可参见《ubuntu 11.10下载和编译Android源码》。
2.2)建立工程
1. 工程地址:AndroidSkia工程根目录jni文件夹。
2. Build command:bash --login -c "cd $WORKSPACE/AndroidSkia && $NDKROOT/ndk-build"
$WORKSPACE、$NDKROOT为工作空间、NDK路径。在Cygwin根目录\home\[your name]\ .bash_profile文件内配置。
3.includes jni、skia等需要的头文件。当前如下:
详细方式,参见《Android NDK基础样例》。
2.3)Android.mk
LOCAL_C_INCLUDES的头文件路径,第一个是jni的,最后三是lskia的,倒数四是ljnigraphics的,其他为基础的(如llog,除了某一是landroid_runtime的,忘了哪个==)。
MY_ANDROID_SYSLIB也可从模拟器导出。
2.4)org_join_skia_SkiaView.cpp
2.5)jniLoad.h
2.6)jniLoad.cpp
3)运行效果
三、Cygwin问题
使用Cygwin时可能遇到的问题,之前都没提到过,现在补上==。
1)make 3.81 bug - error: multiple target patterns. Stop.
下载替换原来的make.exe
2)添加当前工程下的头文件和库文件
添加include路径:project->properties->c/c++ build->settings->cygwin c compiler->includes->include paths->"${workspace_loc:/${ProjName}}"
添加链接库:同上,在cygwin c linker->libraries下添加。
3)cygwin warning: MS-DOS style path detected:...
添加环境变量CYGWIN=nodosfilewarning,可取消报警。
四、后记
附件工程!
本文出自 “-_--___---_-” 博客,请务必保留此出处