2017-04-15 42 views
1

前言:我知道,有大量的有關我越來越但我仍然不認爲我的問題錯誤的問題是重複的,因爲它似乎所有的舊問題都是指使用Android Studio構建,而我試圖從Windows上的命令行構建Android應用程序。從搖籃在Windows命令行構建Android應用程序:版本太舊

所以在這裏,我們去:我剛剛安裝了最新的Android工作室Android的NDK和JDK 8的Windows 7系統。我創建了build.gradle它看起來像這樣一個最小的測試項目:

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

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 

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

     // NOTE: Do not place your application dependencies here; they belong 
     // in the individual module build.gradle files 
    } 
} 

allprojects { 
    repositories { 
     jcenter() 
    } 
} 

task clean(type: Delete) { 
    delete rootProject.buildDir 
} 

當我打開命令行,然後鍵入gradle wrapper我收到以下錯誤:

Build file 'D:\TestProject\app\build.gradle' line: 1 

* What went wrong: 
A problem occurred evaluating project ':app'. 
> Failed to apply plugin [id 'com.android.application'] 
    > Minimum supported Gradle version is 3.3. Current version is 3.2. If using the gradle wrapper, try editing the distributionUrl in D:\TestProject\gradle\wrapper\gradle-wrapper.properties to gradle-3.3-all.zip 

* Try: 
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. 

BUILD FAILED 

Total time: 1.085 secs 

我不能照做出現在錯誤消息中,因爲文件D:\TestProject\gradle\wrapper\gradle-wrapper.properties根本不存在。 AFAIU,這個東西是包裝的一部分,應該通過調用gradle wrapper生成,所以提示我修改一個不存在的文件對我來說沒有太大的意義。

更令人困惑的是,當我在Android Studio中打開Goog​​le提供的HelloJNI測試項目並轉至File/Project Structure/Project時,Gradle版本顯示爲3.3。然而,看着裏面C:\Program Files\Android\Android Studio\gradle表明,我只安裝了3.2,而不是3.3,因爲只有內部C:\Program Files\Android\Android Studio\gradle一個gradle-3.2目錄。

所以這是所有相當混亂,我在對如何解決這個問題的想法。這就是爲什麼任何幫助非常感謝!

回答

0

When I open a command line and type gradle wrapper I get the following error

這實際運行的事實意味着您安裝了一個獨立的本地Gradle副本。你還沒有運行Gradle Wrapper,因爲那將是./gradlew,而不是gradle

,請訪問the Gradle installation site和搖籃的你的獨立本地副本升級到3.3。

+0

沒有,我沒有安裝搖籃的獨立本地副本。我剛添加了'C:\ Program Files \ Android \ Android Studio \ gradle \ gradle-3.2 \ bin'到我的路徑環境變量中。這個問題是否與此有關? – Andreas

+0

@Andreas:好的,我會將其描述爲一種不尋常的方法,而我不會推薦這種方法,因爲您不知道Android Studio最終可能會刪除該目錄的情況。我建議您使用Android Studio創建項目(通過新項目嚮導)或使用獨立的Gradle副本來設置包裝。 – CommonsWare

+0

好吧,我現在已經安裝了獨立於Android Studio的最新Gradle版本,現在它正在工作。但是我仍然想知道爲什麼它沒有通過Android Studio附帶的Gradle的命令行工作。當使用Android Studio Gradle時效果很好,使用命令行時它表示至少需要Gradle 3.3。奇怪。 – Andreas

0

在你最build.gradle文件,添加以下內容:

task wrapper(type: Wrapper) { 
    gradleVersion = "3.5" 
} 

然後運行命令:

gradlew wrapper 

此過程完成後,你應該能夠重新同步與IDE。