将Fresco源码导入到Android Studio,Build失败的解决办法

转载地址请标明:http://blog.csdn.net/android_ls/article/details/48422021

Fresco 是Android平台上一个强大的图片加载组件。Facebook已将其源码开源的,在GitHub上的下载地址:https://github.com/facebook/fresco
中文说明文档地址:http://fresco-cn.org

我们公司项目的Android客户端原来使用的图片加载库是Google推荐的Glide,其在GitHub上的下载地址:https://github.com/bumptech/glide,Glide在其服役期间,各方面表现都很出色,可是随着公司项目一步步的扩大(功能模块的增加),我们的应用时常还是会报OOM异常,在公司的BUG系统中Android客户端排前五的BUG都是与OOM有关的,经过非常纠结的考虑之后,我们决定放弃Glide,转而投向 Fresco的怀抱。(注:我们的项目中会加载大量的图片,并且要求图片质量要高(高清级别的))

从GitHub上将Fresco clone下来,导入到Android studio中,直接编译工程,若没有任何错误,那恭喜你,OK了。我这篇文章要说的重点是,直接编译工程若报错该怎么解决。

1、直接编译工程,若你之前没有安装过NDK环境,搭建NDK环境,步骤如下:
打开http://www.androiddevtools.cn这个网址,下载NDK
将下载好的NDK文件放到一个文件夹里,打开终端工具,进入放NDK的目录里,执行如下命令:

chmod a+x android-ndk-r10c-darwin-x86_64.bin (其中android-ndk-r10c-darwin-x86_64.bin为你下载的NDK文件名)
./android-ndk-r10c-darwin-x86_64.bin (其中android-ndk-r10c-darwin-x86_64.bin为你下载的NDK文件名)

2、再次编译工程,可能会报如下错误:

Error:(13) A problem occurred evaluating project ‘:bolopele’.

Error: NDK integration is deprecated in the current plugin. Consider trying the new experimental plugin. For details, see http://tools.android.com/tech-docs/new-build-system/gradle-experimental. Set “android.useDeprecatedNdk=true” in gradle.properties to continue using the current NDK integration.

解决办法:
找你本地的.gradle这个文件夹(可能是隐藏的),在其中创建gradle.properties文件并在该文件中写入下面这行:
android.useDeprecatedNdk=true
不出意外的话,再次编译工程,NDK环境这块就OK了。

3、因为Fresco 引用了很多第三方库,需要从指定的地址拉取该第三方库。
直接编译工程,你会发现需要等待好久,那就等着呗。若发现获取不了第三方库,解决办法如下:
在gradle里最外层的build.gradle文件里添加下面如下代码(主要是其中的 mavenCentral()这行):

allprojects {
    repositories {
        mavenCentral()
    }
}

4、正常情况下,到这里剩下的事就是等,工程依赖的所有第三方库下载完毕,应该就可以直接在你的Android手机上跑起来了。如果你发现编译的过程中出现如下图所示错误:
这里写图片描述

大家可以在 imagepipeline 子项目里面的 gradle.properties 文件中的最后添加
ndk.path=/Users/XXX/Android_SDK/android-ndk-r10d
添加好后gradle.properties 文件的完整内容如下:

POM_NAME=ImagePipeline
POM_DESCRIPTION=The underlying image loading mechanism of the Fresco library
POM_ARTIFACT_ID=imagepipeline
POM_PACKAGING=aar
ndk.path=/Applications/Tool/android-ndk-r10e

其中/Applications/Tool/android-ndk-r10e为我本地Android NDK的完整路径。

在Android Studio中导入Fresco,我遇到的问题大致就上面这些,若你也遇到了我上面提到的某个问题,希望你能在这里找到解决办法,若你还遇到其他的问题,欢迎在这篇博客下面进行补充。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值