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

@mathieuboniface

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"

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