2018-05-17工作日志,去除框架内的依赖

2018-05-17  本文已影响37人  IT枫

项目中多版本Gilde(3.7.0与4.0.0),使用Glide3.7.0加载网络Gif图,在6.0系统上报异常导致程序crash。

问题一:框架内的依赖了不同版本的Gilde

这是其他人的总结,拿来主义了。
在引入了glide 3.7版本后,在使用过程中却发现无法正常使用链式语法设置placeholder和error等,于是我打开项目.idea-->libiraries,发现目录下glide的版本是4.0,很明显,有别的框架依赖了4.0

正是这个4.0版本的存在让我设置的3.7依赖无效,那么如果我还想用3.7的话就要去除这个4.0。这样感觉不是很合适,因为这个图片框架有可能用到了4.0的新特性,使用3.7的话可能会出问题。这里只是演示一下怎么去除框架内的依赖:
把gradle里的依赖改成这个就可以了:

 compile ('com.github.LuckSiege.PictureSelector:picture_library:v2.1.0'){
        exclude group: 'com.github.bumptech.glide'
    }

原文链接

和我遇到的问题一模一样,引入到框架版本都一模一样。

问题二:Error:Failed to resolve: com.github.LuckSiege.PictureSelector:picture_library:v2.1.0

解决方案: 在根级 build.gradle 文件中增加maven { url 'https://jitpack.io' }

allprojects {
    repositories {
        jcenter()
//在这里,在这里
        maven { url 'https://jitpack.io' }
        // retroLambda相关
        mavenCentral()
    }
}

使用注解框架butterknife,空指针

项目中的所有依赖都放在了某个模块 Gradle 文件中。

dependencies {
    //注解框架ButterKnife是JakeWharton大神开发的一个开源库
    compile 'com.jakewharton:butterknife:8.8.1'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
}

解决方案: annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'这句一定要放在app模块 Gradle 文件中。

dependencies {
      annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
}
上一篇 下一篇

猜你喜欢

热点阅读