1. Android Studio使用远程依赖时下载不了jar包的解决方法
// 需要添加以下maven库,否则使用远程依赖时,可能无法下载fresco数据:compile (‘com.facebook.fresco:fresco:0.4.0+‘)// Error:(126, 14) Failed to resolve: com.facebook.fresco:fresco:0.4.0+allprojects { repositories { mavenCentral() }}
2. Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat
// 由于com.facebook.fresco:imagepipeline模块引用了support-v4.jar,// 如果项目中的其他模块也引用了support-v4.jar, 那么需要去掉其中一个模块对support-v4.jar的引用(exclude module: ‘support-v4‘)// 否则将会出现无法正确引用目标support_v4.jar的情况,或者报以下异常:// com.android.dex.DexException:// Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompatIcs;
compile (‘com.facebook.fresco:fresco:0.4.0+‘) { exclude module: ‘support-v4‘}
3.自定义网络加载:OkHttp
Image pipeline 默认使用HttpURLConnection。应用可以根据自己需求使用不同的网络库。
OkHttp
OkHttp 是一个流行的开源网络请求库。Image pipeline有一个使用OkHttp替换掉了Android默认的网络请求的补充。
如果需要使用OkHttp, 不要使用这个下载页面的gradle依赖配置,应该使用下面的依赖配置
dependencies { // your project‘s other dependencies compile ‘com.facebook.fresco:drawee:0.4.0+‘ compile ‘com.facebook.fresco:imagepipeline-okhttp:0.4.0+‘}
配置Image pipeline这时也有一些不同,不再使用ImagePipelineConfig.newBuilder
,而是使用OkHttpImagePipelineConfigFactory
:
Context context; OkHttpClient okHttpClient; // build on your own ImagePipelineConfig config = OkHttpImagePipelineConfigFactory .newBuilder(context, okHttpClient) . // other setters . // setNetworkFetchProducer is already called for you .build(); Fresco.initialize(context, config);
时间: 2024-10-12 18:08:06