Android Studio引用fresco编译问题的处理

来源:互联网 发布:c语言打印双层金字塔 编辑:程序博客网 时间:2024/04/29 23:51

从Google发布Android Studio到现在已经有一段时间了,从以前的1.0到现在的1.5,相对来说已经算比较稳定的版本了,因此决定舍弃Eclipse,转移到Studio平台上来。
环境布置这些就不说了,直接进入正题:

Facebook在15年推出了图片缓存开源库fresco,功能很强大。我也s准备集成试一试。附地址:https://github.com/facebook/fresco

集成方法很简单,在build.gradle文件中的dependencies里加上一段

compile ‘com.facebook.fresco:fresco:0.9.0+’

然后rebuild一下就可以在代码里引用了。你以为这样就可以了吗?答案当然是no

build完后,你会发现工程不报错了,感觉可以运行了,然后运行发现报错了。。。

Execution failed for task ‘:app:transformClassesWithDexForDebug

报这个错?

解决办法很简单

defaultConfig {
multiDexEnabled true
}
dexOptions {
javaMaxHeapSize “4g”
}

dependencies {
compile ‘com.android.support:multidex:1.0.1’
}

build.gradle中加上这几段代码,然后使用Studio控制台下面的Terminal 使用命令来编译工程:

gradlew :app:assembleDebug

这时候基本就能编译成功了。原因是fresco库里面有NDK内容,studio自带的build现在还不能编译NDK,所以需要使用命令行编译。

笔者在编译过程中还出现了一个错误

Android :app:transformClassesWithJarMergingForDebug FAILED - ZipException: duplicate entry

大概意思是有duplicate( 重复)的包冲突,原来是我的support.v4包与fresco里面的v4包冲突了,把我的工程里的删掉就好了。

好了,到这里就结束了,今天是愚人节,祝大家节日快乐!O(∩_∩)O

1 0
原创粉丝点击