Mac OS 下编译Facebook 图片缓存框架 fresco
Facebook开源了最新的Android图片缓存框架fresco
图片处理大大的好。本问介绍mac系统下编译fresco遇到的坑及解决办法。
下面用Android Studio 编译下,Android Studio 使用的是Gradle构建工程。
吐槽一下:现在做Android的不用Android Stuido 和Gradle貌似总被鄙视。不过到底好不好用功的人心里清楚(剧透:坑太多)。正所谓“莫装X,装X遭雷劈”,不对,是“装X是需要代价的”。
首先你需要一份代码。用git 从 https://github.com/facebook/fresco clone 一份。
然后导入到Android Studio.
导入后,Android Studio首先显示一个可爱的进度条。进度条会显示一段时间,因为fresco Sample依赖不少其他项目。PS:我的Mac 电脑是翻墙的。要是你的没翻墙,请不要打我!(现在在我朝,学习Android必备技能之一就是翻墙,想想这样提高了学习门槛,想想Android码农升职加薪还有些小激动呢!感谢党和ZF!)
fresco使用了JNI,所以你编译的时候遇到的第一个错误可能就是ndk找不到。
所以请先翻墙下载好一份NDK工具。并加入到系统环境变量。
简单说下我怎么加入的:修改 .bash_profile 之后并重新应用这个文件(命令自己Google吧)
更目录下找到local.properties 这个文件。加入NDK路径。
我的如下:
sdk.dir=/Users/我的用户名/Downloads/android-sdk-macosx
ndk.dir=/Users/我的用户名/android-ndk-r10d
好了编译吧,然后编译一段时间你遇到第二个错误:ndk-build 找不到!!!
我去年买了个表!我不少配好了吗?为啥还找不到!?
然后Google(请科学上网)找到帖子:
https://github.com/facebook/fresco/issues/24
我的解决办法:
找到 imagepipeline下面build.gradle 将ndk-build替换成绝对路径
我的是/Users/我的用户名/android-ndk-r10d/ndk-build
Action!再来一次,编译。视你电脑速度等一会儿编译成功。可以运行fresco自带的例子程序了。
这个例子对比了常用的几个图片缓存框架的运行速度及内存占用。明显比其他强一些。