【问题标题】:Android Studio, Gradle Errors. Content not allowed in PrologAndroid Studio,Gradle 错误。 Prolog 中不允许的内容
【发布时间】:2014-06-19 17:48:40
【问题描述】:

我一直在使用带有 Ubuntu 13.10 的 Android Studio 没问题。我决定更新到 14.04,现在我无法让 Android Studio 工作。 Gradle 无法构建并一直显示错误:Prolog 中不允许的内容。我所做的只是从头开始创建一个新项目。

  1. Ubuntu 14.04 是从新擦除的分区安装的
  2. 使用 Android Studio v5.7,虽然我也尝试过 v4.6
  3. 我安装了 Oracle JDK 并相应地设置了 $JAVA_HOME 路径
  4. 我已经 apt-get 安装了 gradle
  5. 我已确保 build.gradle 具有:

    依赖{ 类路径'com.android.tools.build:gradle:0.9.+' }

  6. 我试过gradle build clean。它也会出错。

  7. 我已尝试在 Android Studio 中清理/重建项目。出错了。

错误报告:

[Fatal Error] oss-parent-7.pom:2:1: Content is not allowed in prolog.
[Fatal Error] proguard-base-4.10.pom:2:1: Content is not allowed in prolog.
[Fatal Error] commons-compress-1.0.pom:2:1: Content is not allowed in prolog.
[Fatal Error] oss-parent-7.pom:2:1: Content is not allowed in prolog.
[Fatal Error] httpcore-4.1.pom:2:1: Content is not allowed in prolog.
[Fatal Error] commons-logging-1.1.1.pom:2:1: Content is not allowed in prolog.

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'ArrayAdapterEx'.
> Could not resolve all dependencies for configuration ':classpath'.

无法解析 com.squareup:javawriter:2.2.1。 要求: :ArrayAdapterEx:unspecified > com.android.tools.build:gradle:0.9.2 > com.android.tools.build:builder:0.9.2 无法解析 POM http://repo1.maven.org/maven2/com/squareup/javawriter/2.2.1/javawriter-2.2.1.pom 无法解析 org.sonatype.oss:oss-parent:7。 无法解析 POM http://repo1.maven.org/maven2/org/sonatype/oss/oss-parent/7/oss-parent-7.pom 序言中不能有内容。 无法解析 net.sf.proguard:proguard-base:4.10。 要求: :ArrayAdapterEx:unspecified > com.android.tools.build:gradle:0.9.2 > net.sf.proguard:proguard-gradle:4.10 无法解析 POM http://repo1.maven.org/maven2/net/sf/proguard/proguard-base/4.10/proguard-base-4.10.pom 序言中不能有内容。 无法解析 org.apache.commons:commons-compress:1.0。 要求: :ArrayAdapterEx:unspecified > com.android.tools.build:gradle:0.9.2 > com.android.tools.build:builder:0.9.2 > com.android.tools:sdklib:22.7.2 无法解析 POM http://repo1.maven.org/maven2/org/apache/commons/commons-compress/1.0/commons-compress-1.0.pom 序言中不能有内容。 无法解析 com.google.guava:guava:15.0。 要求: :ArrayAdapterEx:unspecified > com.android.tools.build:gradle:0.9.2 > com.android.tools.build:builder:0.9.2 > com.android.tools:common:22.7.2 :ArrayAdapterEx:unspecified > com.android.tools.build:gradle:0.9.2 > com.android.tools.lint:lint:22.7.2 > com.android.tools.lint:lint-checks:22.7.2 > com .android.tools.lint:lint-api:22.7.2 > com.android.tools.external.lombok:lombok-ast:0.2.2 无法解析 POM http://repo1.maven.org/maven2/com/google/guava/guava/15.0/guava-15.0.pom 无法解析 com.google.guava:guava-parent:15.0。 无法解析 POM http://repo1.maven.org/maven2/com/google/guava/guava-parent/15.0/guava-parent-15.0.pom 无法解析 org.sonatype.oss:oss-parent:7。 无法解析 POM http://repo1.maven.org/maven2/org/sonatype/oss/oss-parent/7/oss-parent-7.pom 序言中不能有内容。 无法解析 org.apache.httpcomponents:httpcore:4.1。 要求: :ArrayAdapterEx:unspecified > com.android.tools.build:gradle:0.9.2 > com.android.tools.build:builder:0.9.2 > com.android.tools:sdklib:22.7.2 > org.apache.httpcomponents :httpclient:4.1.1 :ArrayAdapterEx:unspecified > com.android.tools.build:gradle:0.9.2 > com.android.tools.build:builder:0.9.2 > com.android.tools:sdklib:22.7.2 > org.apache.httpcomponents :httpmime:4.1 无法解析 POM http://repo1.maven.org/maven2/org/apache/httpcomponents/httpcore/4.1/httpcore-4.1.pom 序言中不能有内容。 无法解析 commons-logging:commons-logging:1.1.1。 要求: :ArrayAdapterEx:unspecified > com.android.tools.build:gradle:0.9.2 > com.android.tools.build:builder:0.9.2 > com.android.tools:sdklib:22.7.2 > org.apache.httpcomponents :httpclient:4.1.1 :ArrayAdapterEx:unspecified > com.android.tools.build:gradle:0.9.2 > com.android.tools.build:builder:0.9.2 > com.android.tools:sdklib:22.7.2 > org.apache.httpcomponents :httpmime:4.1 无法解析 POM http://repo1.maven.org/maven2/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.pom 序言中不允许有内容。

应用构建.gradle:

apply plugin: 'android'

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.3"

    defaultConfig {
        minSdkVersion 15
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:19.+'
}

全局构建等级:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.9.+'
    }
}

allprojects {
    repositories {
        mavenCentral()
    }
}

【问题讨论】:

  • 这听起来像是一个 XML 验证错误。如果我不得不猜测,我会说有一些网络错误会阻止您的 POM 文件正确下载。它们可能已损坏,或者它正在从服务器、代理或网络层下载错误页面,而不是有效的 POM。
  • 我将如何验证这一点?
  • 发布你的 build.gradle。
  • 发布了两个 build.gradle 文件。
  • 您应该查看它在错误消息中抱怨的 POM 文件之一,看看里面有什么。这可能会让您对出了什么问题有一些了解。

标签: android ubuntu gradle android-studio


【解决方案1】:

您可以尝试清除 gradle 缓存:gradle clean --refresh-dependencies 并删除 ~/.gradle/caches 的内容。应该有帮助。

更多详情请见https://stackoverflow.com/a/22670684/1243753

【讨论】:

  • 这最终给了我一个关于未能创建应用插件的新错误。谷歌搜索错误后,发现这是 android gradle 0.9.2 的错误。明确使用 0.9.1 而不是 0.9.+ 解决了这个问题。谢谢一百万!
  • 很高兴它有帮助。使用您提供的链接更新了答案。
  • @myanimal 对不起,我是 android studio 的新手,但是我在哪里写这个命令 gradle --refresh-dependencies
  • @SagarDevanga 您可以在项目根目录的终端/命令行中键入命令。 gradle 缓存的位置适用于 Linux 系统,不确定它在 Windows 上的确切位置。您可能还可以使用 gradle 包装器:./gradlewgradle.bat
  • 'gradle clean --refresh-dependencies' 这个命令也适用于flutter项目吗?我收到错误为“在根项目中找不到任务清理”
【解决方案2】:

我有同样的问题。 Android Studio 在 res 目录的子文件夹中遇到了 Desktop.ini 文件的问题。

我删除了所有 desktop.ini 文件(谷歌驱动器使用的),然后它工作了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-27
    • 2021-05-09
    • 2019-04-23
    相关资源
    最近更新 更多