android studio 編譯問題彙總
1,Timed out while waiting for slave aapt process, try setting environment variable SLAVE_AAPT_TIMEOUT to a value bigger than 5 seconds
把一個32位機器下的專案匯入到64位android studio中執行時報這個錯,程序裡面出現很多aapt.exe,原來的app/build.gradle中用的buildTools版本是22.0.1
android { compileSdkVersion 21 buildToolsVersion "21.1.2" //改這裡 compileOptions.encoding = "GBK" ... } } }
2 Android studio 解決libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
將
buildToolsVersion "22.0.1"
改為
buildToolsVersion "20.0.0"
3 Error:(26, 0) Gradle DSL method not found: 'runProguard()'
在gradle老版本里面:
buildTypes { release { runProguard false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } }
解決方法:把 runProguard 改成: minifyEnabled
4 Unable
to load class ‘org.codehaus.groovy.runtime.typehandling.ShortTypeHandling’
錯誤原因:出現這個錯誤是因為你的 Android Studio 中的 Gradle 外掛和 Gradle 版本不一致導致的,非常有可能是因為你在 Android Studio 中倒入了一箇舊版本 Gradle 構建的專案,它在 build.gradle 中宣告的是舊版本的 Gradle 或者 Gradle外掛,由於新版本的 Android Studio 並不支援舊版本的 Gradle 外掛(在 Android Studio 中可能出現如下警告: Error:The
project is using an unsupported version of the Android Gradle plug-in (0.12.2). The recommended version is 1.2.3.),所以我們最好使用最新的或穩定版本的 Gradle 外掛,當你在 build.gradle (Project級別的)修改完宣告的 Gradle外掛版本之後再編譯專案的話,就會爆出如題的異常,你使用來新版本的 Gradle外掛,但
Gradle 卻還是舊版本的。
解決方法:
修改 Project 下的 build.gradle檔案(不是 Module 下的),將buildscript中的
dependencies {
classpath 'com.android.tools.build:gradle:0.12+'
}
改為:dependencies {
classpath 'com.android.tools.build:gradle:1.2.3'
}
然後,找到在專案中找到 gradle 目錄(不是.gradle目錄),按照gradle——wrapper的路徑找到 gradle-wrapper.properties 檔案,將這個檔案中的 distributionUrl 設定為 distributionUrl=https\://services.gradle.org/distributions/gradle-2.3-all.zip,現在重新
build 整個專案即可通過編譯。或者最好是找一個能編譯通過的專案,替換這個目錄裡面的檔案。5,Error:Execution failed for task ':app:preDexDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_31\bin\java.exe'' finished with non-zero exit value -1073741502
在記憶體不夠時會出現這個問題,最好是重啟電腦再編譯試試,如果專案分了很多module,可以先分module編譯每一個module一下.
6 Android Studio 無法識別同一個 package 裡的其他類或是匯入的庫,將其顯示為紅色,但是 compile 沒有問題。滑鼠放上去後顯示 “Cannot resolve symbol XXX”,重啟 Android Studio,重新 sync gradle,Clean build 都沒有用。
多半是因為 Android Studio 之前發生了錯誤,某些 setting 出了問題。解決方法如下:
點選選單中的 “File” -> “Invalidate Caches / Restart”,然後點選對話方塊中的 “Invalidate and Restart”,清空 cache 並且重啟。語法就會正確的高亮了。