1. 程式人生 > >android studio 編譯問題彙總

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"
    ...
        }
    }
}

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

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一下.

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 並且重啟。語法就會正確的高亮了。