2017-04-15 43 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。