添加新活动时出现Eclipse错误

时间:2013-06-02 13:11:35

标签: java android eclipse android-activity adt

我无法在项目中添加新活动。 在“添加活动”向导结束时,如果单击“完成”按钮,则向导仍处于打开状态,并且只更改了清单文件。

我正在使用Android Developer Tools Build:v22.0.0-675183

来自eclipse的错误(android \ .metadata \ .log)

!ENTRY com.android.ide.eclipse.adt 4 0 2013-06-02 14:46:09.807
!MESSAGE 
!STACK 0
java.lang.reflect.InvocationTargetException
    at com.android.ide.eclipse.adt.internal.wizards.templates.TemplateWizard.performFinish(TemplateWizard.java:164)
    at com.android.ide.eclipse.adt.internal.wizards.templates.TemplateWizard$1.run(TemplateWizard.java:188)
    at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
Caused by: org.eclipse.core.runtime.CoreException: End position lies outside document range
    at org.eclipse.ltk.internal.core.refactoring.Changes.asCoreException(Changes.java:62)
    at org.eclipse.ltk.core.refactoring.TextChange.perform(TextChange.java:246)
    at org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:278)
    at com.android.ide.eclipse.adt.internal.wizards.templates.TemplateWizard.performFinish(TemplateWizard.java:161)
    ... 2 more
Caused by: org.eclipse.text.edits.MalformedTreeException: End position lies outside document range
    at org.eclipse.text.edits.TextEditProcessor.checkIntegrityDo(TextEditProcessor.java:178)
    at org.eclipse.text.edits.TextEdit.dispatchCheckIntegrity(TextEdit.java:743)
    at org.eclipse.text.edits.TextEditProcessor.performEdits(TextEditProcessor.java:151)
    at org.eclipse.ltk.core.refactoring.TextChange.performEdits(TextChange.java:277)
    at org.eclipse.ltk.core.refactoring.TextFileChange.performEdits(TextFileChange.java:262)
    at org.eclipse.ltk.core.refactoring.TextChange.perform(TextChange.java:238)
    ... 4 more
Root exception:
    org.eclipse.core.runtime.CoreException: End position lies outside document range
            at org.eclipse.ltk.internal.core.refactoring.Changes.asCoreException(Changes.java:62)
            at org.eclipse.ltk.core.refactoring.TextChange.perform(TextChange.java:246)
            at org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:278)
            at com.android.ide.eclipse.adt.internal.wizards.templates.TemplateWizard.performFinish(TemplateWizard.java:161)
            at com.android.ide.eclipse.adt.internal.wizards.templates.TemplateWizard$1.run(TemplateWizard.java:188)
            at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
        Caused by: org.eclipse.text.edits.MalformedTreeException: End position lies outside document range
            at org.eclipse.text.edits.TextEditProcessor.checkIntegrityDo(TextEditProcessor.java:178)
            at org.eclipse.text.edits.TextEdit.dispatchCheckIntegrity(TextEdit.java:743)
            at org.eclipse.text.edits.TextEditProcessor.performEdits(TextEditProcessor.java:151)
            at org.eclipse.ltk.core.refactoring.TextChange.performEdits(TextChange.java:277)
            at org.eclipse.ltk.core.refactoring.TextFileChange.performEdits(TextFileChange.java:262)
            at org.eclipse.ltk.core.refactoring.TextChange.perform(TextChange.java:238)
            ... 4 more

我做错了什么?

2 个答案:

答案 0 :(得分:2)

我只是有同样的效果。解决方案是文件'strings.xml',它有一个错误的字符编码(除了UTF-8之外的东西 - 我用Eclipse之外的编辑器编辑'strings.xml',它以错误的编码保存它)。

使用'strings.xml'的备份(仍然是UTF-8编码)并在Eclipse中进行编辑,确实解决了这个问题。

我在“要执行的更改”下的“活动 - 向导预览”中单击它,发现了错误的文件。

答案 1 :(得分:1)

添加新活动时遇到了同样的问题。

使用-clean - 命令启动eclipse没有任何效果,因此我尝试将带有Notepad ++的XML文件从 UTF-8 转换为 UTF8而不使用BOM 。这对我有用。我为每个XML文件执行了此操作,因此清单layout.xmldimens.xmlstrings.xml