gradle 教學

build.gradle

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.3' 
        //classpath 'com.android.tools.build:gradle:1.5.0'
    }
}
https://repo1.maven.org/maven2/com/android/tools/build/gradle/

could not resolve all dependencies for configuration ' classpath'

開始以為是下載依賴失敗了,因為打包機器之前出現過下載https的maven庫失敗的問題,但是這次看了下載的依賴jar地址是http的,在機器上執行wget也能下載。所以應該不是下載問題。

當然是不是下載的問題去看看就知道了,gradlew下載的依賴文件都在

~/.gradle/caches/modules-2/files-2.1

進入後發現依賴的文件是有的。這個問題最後沒找到原因,我把caches目錄整個刪了,重新下了一遍所有依賴就ok了。 之前打包只是把gradle deamon給關了反之編譯緩存造成問題。沒想到工程緩存也會有問題,對於打正式發佈的包來說,建議打包前除了執行git reset保證代碼同步,執行gradle clean清理環境外,也要

  • 關閉deamon,
  • 清理依賴緩存 營造一個全新的打正式包環境。

classpath 'com.android.tools.build:gradle:2.1.3' // 版本要跟 gradle-wrapper.properties 配合

distributionUrl=http://services.gradle.org/distributions/gradle-2.14.1-all.zip

classpath 'com.android.tools.build:gradle:2.1.3'

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.3'  // 版本要跟 gradle-wrapper.properties
    }
}

allprojects {
    repositories {
        mavenCentral()
    }
}


Error:Execution failed for task ':app:processDebugResources'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/home/Android/Sdk/build-tools/23.0.2/aapt'' finished with non-zero exit value 127

——這個問題很難從提示信息看出原因,其實原因是在64位操作系統下面需要對32位庫的支持才能運行aapt這個程序,因為aapt只有32位版本,即便是下載的64位的SDK build-tools,這個aapt依然是32位的。解決方法是安裝32位的命令支持庫:sudo apt-get install lib32stdc++6 lib32z1


书籍推荐