编译使用Android源码中的GIF图片工具包--framesequence

一、 framesequence源码的地址

framesequence是Androidframework中ex里的一个工具包,其源码地址在

https://android.googlesource.com/platform/frameworks/ex/

二、依赖包giflib的源码地址

framesequence其jin依赖于giflib,所以,得下载其源码,地址在

https://android.googlesource.com/platform/external/giflib/

三、 依赖包webp的源码地址

framesequence其jin也依赖于webp,其源码地址在

https://android.googlesource.com/platform/external/webp/

四、 编译giflib和webp

jin的编译可以分为动态链接库和静态链接库,动态库的编译方式是BUILD_SHARED_LIBRARY ,编译成动态链接库就会生成.so文件,其编译一次后可以给其他库共享;静态库的编译方式个是BUILD_STATIC_LIBRARY,静态链接库就会生成.a文件,其编译会将源码直接插入到所依赖的库里面去,而且不能给其他共享。
giflib工程目录结构

首先配置好ndk的环境,以eclipse为例,如图:

这里写图片描述

然后,对着工程点击右键,添加本地支持,如图:

这里写图片描述

默认不需要修改编译文件Android.mk,内容如图:

这里写图片描述

右键工程,然后build即可,如图:

这里写图片描述

若编译没报错,则效果如图:

这里写图片描述

webp的编译与giflib相同,就不重复了,webp的工程目录如图:

这里写图片描述

然后eclipse导入framesequence工程,导入后,右键工程,添加native support,将对应的文件拷贝到下图对应的目录下,文件目录如下图:

这里写图片描述

若有些.h或者.cpp文件报错,则可能是头文件引入错误,正确的引入如图:

这里写图片描述

头文件引入没问题后,则修改Android.mk文件,文件内容如图:

这里写图片描述

编译成功后如图:

这里写图片描述
注:链接的方式只需选择一种,静态链接的方式与动态的最大不同之一的是,静态依赖的最终只会生成一个libframesequence.so文件,动态的依赖,则会生成多个.so文件。如:giflib使用的动态的依赖方式,则会有一个giflib.so

五、运行framesequence实例

随着framesequence的导入,会有一个sample工程,将刚才编译出的so文件添加到工程的lib/芯片目录下/,再将framesequence工程导出jar包即可,如图:
这里写图片描述

选择jar
这里写图片描述

选择导出文件src目录即可,如图:
这里写图片描述

然后将framesequence.jar和其lib下的so一起添加到实例工程里,如图:
这里写图片描述

然后,运行该实例,即可播放gif图片了,如图:
这里写图片描述

六、实例资源

实例资源地址在:http://download.csdn.net/detail/haunghui6579/9289857

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值