Android Studio爬过的坑

发表于: 乘月网 · 2017-2-7 ·  728 阅读  ·  1 评论 

从老伙计eclipse转Android Studio有半年多了,爬过不少坑,一直没时间整理,这里先录入几个,以后继续更新。。。

1.Error:Failed to open zip file.

Gradle's dependency cache may be corrupt(this sometimes occurs after a network connection timeout.)

<ahref="syncProject">Re-download dependencies and sync project(requires network)</a>

<ahref="syncProject">Re-download dependencies and sync project(requires network)</a>

一般原因是gradle文件下载不了,导入第三方项目出现该问题居多,说明项目配置gradle的url有问题(如:服务器关闭,url过时,url链接的文件不存在,url本身就不对),这里以导入微信官方Android开发工具包(Demo项目)出现的问题为例:在导入后的项目依次展开\gradle\wrapper\gradle-wrapper.properties,打开gradle-wrapper.properties文件,找到“distributionUrl”这一栏

把后面给出的地址复制粘贴到浏览器验证下是否可以下载gradle-2.6-all.zip

如果是404(文件不存在)错误,可以尝试修改下链接gradle文件的版本号,看其他版本能不能下载,能下载就修改下该项目配置的版本号。

其它错误,反正不能下载,那就把自己开发的项目里对应的“distributionUrl”后面的url复制替换掉导入的项目的url,然后点一下gradle按钮重新编译一下就好了。提供下我的项目url链接(gradle官方的):distributionUrl=https://services.gradle.org/distributions/gradle-2.14.1-all.zip

这里不要太纠结我给的链接gradle版本跟导入的项目的gradle版本不匹配,因为android studio会自动提醒你更新或还原需要的gradle版本。

2.编辑build.gradle文件卡顿


  这个问题比较隐秘,一般开发人员以为是android studio自身bug或自己的电脑性能问题造成的卡顿,且做开发的时候很少接触这个文件,其实不然,当你手动添加依赖包或库索引以及修改系统版本等编辑时非常蛋疼的,卡得想哭。其根本原因是缺少Google Repository包,解决办法:去SDK Manager下载更新该包:

点击图中SDK Manager按钮

在打开的窗口中点击 Launch Standalone SDK Manager

打开的新窗口如图:找到Extras栏展开该目录,找到Google Repository包勾选安装(或升级)。这个窗口玩eclipse开发Android的朋友一定很熟悉哈。

好了,根据提示安装完成后再回到我们的build.gradle文件编辑窗口感受一下问题是否解决了。

3.Error:Execution failed for task ':app:clean'.

Error:Execution failed for task ':app:clean'.
> Unable to delete directory: F:\Project\Android\trunk\XXX\app\build

解决方案:

复制项目app目录路径----->

通过复制路径转到资源管理器位置,删除build文件夹,如果提示该文件夹被程序使用(占用),关闭Android Studio ,再删除。如果提示什么用户权限问题,无法删除,那么重试N次删除,直到可以删除为止---->

打开Android Studio,打开AS设置 (Settings),找到《Build,Execution,Deployment》项目按如下图操作---->

OK,应用后,点击Gradle按钮,重新编译一下就好了。

1 回复

  1. Jayna

    I really like your writing style, great info, regards for putting up . “You can complain because roses have thorns, or you can rejoice because thorns have roe.2s&#82s1; by Ziggy.

    回复