Skip to content
This repository was archived by the owner on Feb 26, 2023. It is now read-only.
This repository was archived by the owner on Feb 26, 2023. It is now read-only.

Do not show the SAXParseException when trying to parse the AndroidManifest.xml file #327

Description

@mathieuboniface

Today I was writing the most beautiful Android application when AA suddenly threw that error right in my face :

Unexpected error. Please report an issue on AndroidAnnotations, with the following content: java.lang.RuntimeException: org.xml.sax.SAXParseException: 
 Content is not allowed in prolog. at 
 com.googlecode.androidannotations.helper.AndroidManifestFinder.extractAndroidManifest(AndroidManifestFinder.java:54) at 
 com.googlecode.androidannotations.AndroidAnnotationProcessor.extractAndroidManifest(AndroidAnnotationProcessor.java:363) at 
 com.googlecode.androidannotations.AndroidAnnotationProcessor.processThrowing(AndroidAnnotationProcessor.java:335) at 
 com.googlecode.androidannotations.AndroidAnnotationProcessor.process(AndroidAnnotationProcessor.java:318) at 
 org.eclipse.jdt.internal.compiler.apt.dispatch.RoundDispatcher.handleProcessor(RoundDispatcher.java:139) at 
 org.eclipse.jdt.internal.compiler.apt.dispatch.RoundDispatcher.round(RoundDispatcher.java:121) at 
 org.eclipse.jdt.internal.compiler.apt.dispatch.BaseAnnotationProcessorManager.processAnnotations(BaseAnnotationProcessorManager.java:159) at 
 org.eclipse.jdt.internal.apt.pluggable.core.dispatch.IdeAnnotationProcessorManager.processAnnotations(IdeAnnotationProcessorManager.java:134) at 
 org.eclipse.jdt.internal.compiler.Compiler.processAnnotations(Compiler.java:813) at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:432) 
 at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:364) at 
 org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.compile(IncrementalImageBuilder.java:329) at 
 org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:301) at 
 org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.build(IncrementalImageBuilder.java:134) at 
 org.eclipse.jdt.internal.core.builder.JavaBuilder.buildDeltas(JavaBuilder.java:265) at org.eclipse.jdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:
 193) at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:728) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at 
 org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:199) at 
 org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:239) at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:
 292) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:295) at 
 org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:351) at 
 org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:374) at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:143) 
 at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:241) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) Caused by: 
 org.xml.sax.SAXParseException: Content is not allowed in prolog. at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:246) at 
 com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284) at 
 javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:208) at 
 com.googlecode.androidannotations.helper.AndroidManifestFinder.parseThrowing(AndroidManifestFinder.java:122) at 
 com.googlecode.androidannotations.helper.AndroidManifestFinder.extractAndroidManifestThrowing(AndroidManifestFinder.java:60) at 
 com.googlecode.androidannotations.helper.AndroidManifestFinder.extractAndroidManifest(AndroidManifestFinder.java:49) ... 27 more

I was having a syntax error in my AndroidManifest, the project wasn't compiling and an error was shown on the AndroidManifest.

I think we could simply catch and ignore that exception from AA, there is no reason to add a second error on the Activity if another is already displayed on the AndroidManifest file by Eclipse.

Or we can add an error with a more understandable message like "Hey honey ! I'm AndroidAnnotations and I'm Unable to parse the AndoridManifest.xml file. Please fix that file if you want i build the greatest application"

Activity

  1. pyricau commented on Oct 4, 2012

    @pyricau
    Contributor

    Very good suggestion. I'm in for the "Hey honey!" message :)

  2. pyricau commented on Oct 25, 2012

    @pyricau
    Contributor

    Question : where would you leave such a message ?

    • As a simple note (viewable in Error logs View in Eclipse)
    • As a compile error on a random element ?
  3. pyricau commented on Nov 29, 2012

    @pyricau
    Contributor

    I'm stealing this issue to you ;)

  4. ghost assigned on Nov 29, 2012
  5. mathieuboniface commented on Nov 29, 2012

    @mathieuboniface
    ContributorAuthor

    Good thing , I give it to you with pleasure :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions