java - 为什么我会收到 .jar 文件的所有这些错误 "cannot resolve symbol R"和 "Content is not allowed in prolog"?

标签 java android gradle

我正在尝试进行应用内购买以使用 Google Play 商店中的 TrivialDrive 示例。我遇到了 MyActivity.java 中的所有错误,但现在我遇到了很多错误“无法解析符号 R”。 Gradle 控制台是这样说的:

    :app:mergeDebugResources
    [Fatal Error] :1:1: Content is not allowed in prolog.

    C:\Users\Dov\AndroidStudioProjects\Pay\app\src\main\res\libs\
                  android-support-v4.jar:0:0: 
    Error: Content is not allowed in prolog.
    :app:mergeDebugResources FAILED

    FAILURE: Build failed with an exception.

    * What went wrong:
    Execution failed for task ':app:mergeDebugResources'.
    > C:\Users\Dov\AndroidStudioProjects\Pay\app\src\main\res\libs\
                  android-support-v4.jar:0:0: 
Error: Content is not allowed in prolog.

我不知道那个 .jar 文件是从哪里来的。

我假设我得到了所有“R”错误,因为构建失败但不知道该怎么做,在 Android Studio 1.1.0 中我不知道如何做 Gradle 建议的事情:

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

编辑--

根据要求,这是 Gradle 构建文件:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "com.dslomer64.myapplication"
        minSdkVersion 15
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

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

编辑 #2--

这是 AS 1.1.0 中的结构:

enter image description here

EDIT#3--GRADLE STACKTRACE
Executing tasks: [clean, :app:compileDebugSources]

Configuration on demand is an incubating feature.
:app:clean
:app:preBuild UP-TO-DATE
:app:preDebugBuild UP-TO-DATE
:app:checkDebugManifest
:app:preReleaseBuild UP-TO-DATE
:app:prepareComAndroidSupportAppcompatV72200Library
:app:prepareComAndroidSupportSupportV42200Library
:app:prepareDebugDependencies
:app:compileDebugAidl
:app:compileDebugRenderscript
:app:generateDebugBuildConfig
:app:generateDebugAssets UP-TO-DATE
:app:mergeDebugAssets
:app:generateDebugResValues UP-TO-DATE
:app:generateDebugResources
:app:mergeDebugResources
[Fatal Error] :1:1: Content is not allowed in prolog.

C:\Users\Dov\AndroidStudioProjects\Pay\app\src\main\res\libs\android-support-v4.jar:0:0: Error: Content is not allowed in prolog.
:app:mergeDebugResources FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:mergeDebugResources'.
> C:\Users\Dov\AndroidStudioProjects\Pay\app\src\main\res\libs\android-support-v4.jar:0:0: Error: Content is not allowed in prolog.

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

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:mergeDebugResources'.
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
    at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
    at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
    at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
    at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:42)
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
    at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
    at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:305)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.executeTask(AbstractTaskPlanExecutor.java:79)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:63)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:51)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:23)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:88)
    at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:29)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)
    at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23)
    at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:68)
    at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:55)
    at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:149)
    at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:106)
    at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:86)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:80)
    at org.gradle.tooling.internal.provider.BuildModelAction.run(BuildModelAction.java:43)
    at org.gradle.tooling.internal.provider.BuildModelAction.run(BuildModelAction.java:30)
    at org.gradle.tooling.internal.provider.ConfiguringBuildAction.run(ConfiguringBuildAction.java:119)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:36)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26)
    at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:47)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
    at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:35)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
    at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:24)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
    at org.gradle.launcher.daemon.server.exec.StartStopIfBuildAndStop.execute(StartStopIfBuildAndStop.java:33)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:71)
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:69)
    at org.gradle.util.Swapper.swap(Swapper.java:38)
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:69)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
    at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:60)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
    at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:70)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
    at org.gradle.launcher.daemon.server.exec.DaemonHygieneAction.execute(DaemonHygieneAction.java:39)
    at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:119)
    at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:46)
    at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:246)
    at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:64)
Caused by: com.android.build.gradle.tasks.ResourceException: C:\Users\Dov\AndroidStudioProjects\Pay\app\src\main\res\libs\android-support-v4.jar:0:0: Error: Content is not allowed in prolog.
    at com.android.build.gradle.tasks.MergeResources.doFullTaskAction(MergeResources.groovy:119)
    at com.android.build.gradle.internal.tasks.IncrementalTask.taskAction(IncrementalTask.groovy:70)
    at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:63)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.doExecute(AnnotationProcessingTaskFactory.java:235)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:211)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.execute(AnnotationProcessingTaskFactory.java:222)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:200)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
    ... 55 more
Caused by: C:\Users\Dov\AndroidStudioProjects\Pay\app\src\main\res\libs\android-support-v4.jar:0:0: Error: Content is not allowed in prolog.
    at com.android.ide.common.res2.ValueResourceParser2.parseDocument(ValueResourceParser2.java:205)
    at com.android.ide.common.res2.ValueResourceParser2.parseFile(ValueResourceParser2.java:77)
    at com.android.ide.common.res2.ResourceSet.createResourceFile(ResourceSet.java:275)
    at com.android.ide.common.res2.ResourceSet.parseFolder(ResourceSet.java:250)
    at com.android.ide.common.res2.ResourceSet.readSourceFolder(ResourceSet.java:133)
    at com.android.ide.common.res2.DataSet.loadFromFiles(DataSet.java:233)
    at com.android.ide.common.res2.ResourceSet.loadFromFiles(ResourceSet.java:47)
    at com.android.build.gradle.tasks.MergeResources.doFullTaskAction(MergeResources.groovy:102)
    ... 63 more
Caused by: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog.
    at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:257)
    at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:347)
    at com.android.utils.XmlUtils.parseUtfXmlFile(XmlUtils.java:456)
    at com.android.ide.common.res2.ValueResourceParser2.parseDocument(ValueResourceParser2.java:202)
    ... 70 more


BUILD FAILED

Total time: 3.837 secs

编辑 #4--

无法在此处解析“R”等:

static int[] TANK_RES_IDS = { R.drawable.gas0, R.drawable.gas1, R.drawable.gas2, R.drawable.gas3, R.drawable.gas4 };

他们在这里:

enter image description here

但看看 java 节点——是这样吗?这是 MainActivity 的路径:

C:\Users\Dov\AndroidStudioProjects\TrivialDrive\app\src\main\java\com\dslomer64\trivialdrive\MainActivity.java

我尝试按照说明创建 TrivialDrive,但是......................

最佳答案

你能把它标记 R 的行之一贴出来吗?

我以前遇到过这种情况,对我来说这是由于以下原因之一。

1) 错误的路径/未定义的资源 - 修复路径/创建资源

2) 包裹信息错误。如果您经常从教程中复制代码,它将使用它们的包名称而不是您的包名称。

package com.dslomer64.myapplication;

3) 最后,不确定是什么原因导致的,但解决方案是:File-> Invalidate Caches/Restart

祝你好运

关于java - 为什么我会收到 .jar 文件的所有这些错误 "cannot resolve symbol R"和 "Content is not allowed in prolog"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29902831/

相关文章:

maven - 如何将依赖项从 build.gradle 导入到 pom.xml

java - 我可以在构造函数的参数中初始化数组吗

java - 在 TextView 中显示 json 值

android - Intent.FLAG_ACTIVITY_CLEAR_TOP 不关闭 android 中堆栈中的所有 Activity

spring - 以jar形式发布Spring Gradle项目

gradle - 如何让 android studio (gradle) 使用 Sun/Oracle Java?

java - 从线程中动态删除和添加 vaadin 中的组件

java - 如何使用java中的正则表达式在特定位置的文本中查找数字

java - 根据内容检测文件类型

java - 如何在 Android 中使用 JSON 引擎