坑坑坑
以下办法个人实践,具体个人问题得具体分析。
一.gradle sync 根本停不下来
触发原因:发生下面第二个错误 百度后:
http://stackoverflow.com/questions/31784132/errortimeout-waiting-to-lock-buildscript-class-cache-for-build-file-when-change
参考这个去把cache文件all delete。然后所有的项目都卡在gradle sync ;设置setting-gradle-offline work是可以停下来,但项目的一些依赖包就报错找不到了
解决办法:
直接去垃圾箱把属于上述 cache文件的jar-1、modules-2文件恢复即可。
二.增加依赖包编译的时候中断发生以下报错
Error:Timeout waiting to lock buildscript class cache for build file 'E:\pathtoproject\app\build.gradle' (C:\Users\Administrator\.gradle\caches\2.2.1\scripts\build_f00bwdji3qxl7urq5chsbakgv\ProjectScript\buildscript). It is currently in use by another Gradle instance.
Owner PID: unknown
Our PID: 4592
Owner Operation: unknown
Our operation: Initialize cache
Lock file: C:\Users\Administrator\.gradle\caches\2.2.1\scripts\build_f00bwdji3qxl7urq5chsbakgv\ProjectScript\buildscript\cache.properties.lock
解决办法:
http://blog.csdn.net/u010782846/article/details/51007568
只需要把报错的文件删除(别手贱删其他)了并关闭java进程重启AS;
三:import module 报错有重复依赖包
触发原因:
android 以module导入 easeui 并修复其gradle依赖错误
解决步骤:
- File——new——impor Module
- source directory:选择在sdk/example/easeui文件 一路next到finish;
导入完后File——Project Structure 里面的左下modules选择app进行设置
- 选择右边Dependencies然后选+号
- 选择Moudle dependency
- 把easeui选择导入作为自己的lib。
设置build.gradle(Module:easeui)
- compilesdkversion 、buildtoolsversion 、defaultcofig
的参数设置与build.gradle(Module:app)一致 - dependencies 里面添加 compile ‘com.android.support:appcompat-v7:23.4.0’(从appde gradle拷贝过来)
- 删除easeui文件夹里面support-v4.jar库包,因为上一步已经帮导入(v7包含v4),重点是避免重复搞混method。
- compilesdkversion 、buildtoolsversion 、defaultcofig
设置build.gradle(Module:app)
- 注释掉 //compile ‘com.android.support:appcompat-v7:23.4.0’ 因为lib包easeui帮忙导入了。避免重复依赖
- 确保含有compile project(‘:easeui’)保证第二步导入成功。
- 去掉 compile files(‘libs/hyphenatechat_3.1.4.jar’) 因为easeui工程lib文件里面已经增加/hyphenatechat_3.1.4.jar。
去自己项目文件夹里(如我的ChatDemo文件夹中) 的lib文件夹删除hyphenatechat_3.1.4.jar。因为easeui文件里面有。
参考网址:
http://blog.sina.com.cn/s/blog_6f3828770102w30b.html
心得总结:
依赖包中 ‘不可重复’依赖或者 ‘上下含有’关系。 如support-v7含有v4。