在Android NDK中使用Skia

19

Android.graphics.*是否依赖于本地的Skia库? 如果是这样,我能否在我的本地C/C++代码中访问Skia库?

4个回答

16

Skia在安卓系统中不以库/共享库的形式提供,因为其api不能保证在未来稳定。

在C/C++中没有控件的示例实现,所有的小部件/视图子系统都是用Java完成的。

关于Skia的更多信息,请访问http://code.google.com/p/skia/


谢谢,Rishabh。跟进问题,是否可以自定义构建skia库并将其包含在我的jni中?如果可以,如何操作? - pinglamb
3
看看这个,它会有所帮助http://code.google.com/p/skia/source/browse/trunk/android_sample/SampleApp?r=1452 - Rishabh
此外,如果您发现问题的答案有用,请接受它们(看到那里有一个勾号),并使用点赞。这将帮助您获得更多的答案。 - Rishabh

5
Skia可以使用本地的c/c++代码,但是您需要android源代码来构建您的应用程序并生成lib<>.so和apk,因为它的make需要外部/skia/.....在Android.mk中[如Rishabh所示的示例代码]。
实际上,我尝试了一个示例,在其中我使用JNI将canvas对象传递到我的本地代码,并使用skia api在canvas上绘制XXX()。
您可以参考Android graphics pipeline来了解android图形管道。

4

3
404,未找到。 - KunMing Xie
https://github.com/osmandapp/OsmAnd-external-skia/tree/master/platform_tools/android/examples/hello_skia_app - Arfan Mirza
https://github.com/android/platform_external_skia/tree/master/platform_tools/android/examples/hello_skia_app - Arfan Mirza

2

如果您正在使用AOSP进行开发,那么很简单 - 您可以在NDK应用程序中链接之前构建的libskia.so库。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接