最近把Android studio升级到3.1.4,可是新建一个空项目在build的时候都出现问题,本来不是很重视,把不需要的直接注掉即可,但是因为导入公司的一个项目来编译,结果还是报了同样的错(引入的依赖库出现了问题),最终在网上找了很多方法,最终解决了,记录下过程。
1.如果公司的项目是以前写的,那么因为AS 3.+在依赖关系上已经用"implementation"或者"api"取代了"compile",所以在使用过程中,"compile"需要被替换成"implementation"或者"api”,这两者的区别是"api”和"compile"作用类似,即在编译时不隐藏依赖的类,如:app依赖library1,而library1依赖于library2,在library2中有一个class3,通过"api"引入依赖库,在app中可以直接调用class3,但是如果用"implementation"来引入依赖库的话,则不能在项目中调用calss3,即"implementation"隐藏了依赖库的实现。
2.设置网络代理:
解决方法为;https://blog.youkuaiyun.com/magicbaby810/article/details/79848425
其实最主要的是网络的问题,实质上按2已经可以解决了,多clean,多build下即可了,但实际上还是没有解决,最终我是按照3的方法解决了。
3.在gradle.properties中把网络那几句给注掉。
参见:https://blog.youkuaiyun.com/zhoukongxiao/article/details/81301996
原因应该是,虽然网络代理已经被关了,但是在gradle.properties中的网络设置没有改变,还是会影响编译结果的。
问题最终解决了,还是很开心的。个人感觉,AS升级后,似乎clean变了很慢,有时候要clean很多次才有效果。