PROBLEM
在ubuntu1604LTS下用Android studio 进行开发,发现打开之后一直处于gradle build running状态,无法进行后续的编译、调试、安装。
REASONS & SOLUTIONS
经过多方查找资料实践,发现可能有2个原因导致这种情况。
1、gradle需要更新某些文件。
打开项目目录Gradle Scripts下找到gradle-wrapper.properties
#Thu Apr 28 12:36:03 CST 2016
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip
将最后一行网址部分即
http://services.gradle.org/distributions/gradle-2.10-all.zip
输入浏览器手动进行下载。
然后打开Android Studio
设置use default gradle wrapper
此时会提示找不到指定的目录或文件
创建对应的目录,然后将下载的zip文件移动到对应的目录下。
mv /home/perrin/Desktop/gradle-2.10-all.zip /home/perrin/.gradle/wrapper/dists/gradle-2.10-all/a4w5fzrkeut1ox71xslb49gst/
然后更改目录的权限为所有用户可读可写。
chmod a+w /home/perrin/.gradle/ -R
如果没有其他问题,此时就可以顺利通过gradle build了。
2、gradle build过程中出现异常。
点开Gradle Console。
比如本人碰到的。
Exception in thread "png-cruncher_17" java.lang.RuntimeException: Timed out while waiting for slave aapt process, make sure the aapt execute at /usr/local/share/android-sdk-linux/build-tools/22.0.1/aapt can run successfully (some anti-virus may block it) or try setting environment variable SLAVE_AAPT_TIMEOUT to a value bigger than 5 seconds
at com.android.builder.png.AaptProcess.waitForReady(AaptProcess.java:108)
at com.android.builder.png.QueuedCruncher$1.creation(QueuedCruncher.java:110)
at com.android.builder.tasks.WorkQueue.run(WorkQueue.java:203)
at java.lang.Thread.run(Thread.java:745)
stackoverflow解决方法如下:
apt-get install libncurses5:i386 libstdc++6:i386 zlib1g:i386
排除了以上2个问题,基本上Gradle Build过程就会顺畅无阻了。