解决gradle更新后导致app中引用不到module下的jar包问题

版权声明:本文为博主原创文章,转载请注明出处 https://blog.csdn.net/fzkf9225/article/details/80117317

    博主最近拿到一个二次开发的项目。公司以前这个项目是外包出去的,外包做的,大家也知道外包怎么工作的,四个字形容就是快速开发,那么就有些问题,很多东西框架比较落伍过时,拿到手改掉网络框架,不支持ip的反向代理于是从底层换掉网络框架,哎,难为我这个菜鸡了,然后我发现gradle插件还是2.2.3的版本于是更新了下,更了最新的3.1.2于是除了很多问题。

    1、最近的会提示你compile过时,不推荐使用,推荐你使用implementation

    2、提示androidTestCompile过时,推荐使用androidTestImplementation

   3、如果你使用了butterknife插件的话,代码会报错找到这个jar包,为什么呢?在gradle 3.0以后不推荐使用这个插件“com.neenbedankt.android-apt”解决这个问题需要两步:

        第一、代码中删除项目的删除项目中build.gradle下的apply plugin: 'com.neenbedankt.android-apt'和app下build.gradle的apt 'com.jakewharton:butterknife-compiler:8.6.0'。

            第二:把dependencies下的apt改为annotationProcessor即可别忘了导入butterknife包 

compile 'com.jakewharton:butterknife:8.6.0'
 annotationProcessor 'com.jakewharton:butterknife-compiler:8.6.0'

    4、当你改完gradle插件版本后会提示你gradle最低支持版本是***,去官网下载最新的gradle版本放在你的gradle本地目录即可。

    但是你会发现当你做了以上几步后你会发现你可能会出现一个问题,比如说在module中你导入了***.jar或者在线的包,以gson为例,你不会再app下再次导入,再次导入可能会出现重复等一些问题,一个就够了,但是你会发现你要使用gson的时候你却找到gson,会提示你add library/*****.jar 一大串,你回车一下或者点一下没反应,根本没有用,那么问题出在哪呢?

    你需要这样解决:

    把module下的implementation改为api即可,因为implementation 修饰的只能在当前module中引用,你在app下是引用不了的,你改完重新编译下即可。


猜你喜欢

转载自blog.csdn.net/fzkf9225/article/details/80117317
今日推荐