“AndroidManifest.xml未声明Java包”错误

时间:2010-12-10 17:17:41

标签: android

这可能更像是一个Linux错误,而不是编程错误,但我不确定。 AndroidManifest.xml对我来说有些希腊语。也就是说,我的程序编译并运行之前,它的当前状态非常好,甚至在市场上。自从我在Eclipse中打开源代码以来已经有一个月了,今天当我打开它时,它拒绝编译并显示以下错误:

[2010-12-10 10:43:19 - com.android.ide.eclipse.adt.internal.project.AndroidManifestHelper] Unable to read /media/DATA/code/Android/XXX/AndroidManifest.xml: org.eclipse.core.internal.resources.ResourceException: Resource is out of sync with the file system: '/XXX/AndroidManifest.xml'.

[2010-12-10 10:43:19 - XXX] AndroidManifest.xml does not declare a Java package: Build aborted.

其中XXX是包名(及其所在的目录)。我已经确认该文件在文本编辑器中完全正常,甚至在Eclipse中刷新它。什么都没有。

我更新了ADT ......也许AndroidManifest.xml的标准发生了变化?

我的AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest 
 xmlns:android="http://schemas.android.com/apk/res/android"
 package="com.XXX.XXX"
 android:versionCode="2"
 android:versionName="1.0.1"
 >

 <application android:icon="@drawable/icon" android:label="@string/app_name">

     <activity 
      android:name=".XXX"
   android:label="@string/app_name"
   android:screenOrientation="portrait"

   android:theme="@android:style/Theme.NoTitleBar"
   >

   <intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />

   </intent-filter>
  </activity>

  <activity 
   android:name=".FindLocationsActivity"
   android:screenOrientation="portrait"
   >
  </activity>

  <activity 
   android:name=".DeveloperActivity"
   android:screenOrientation="portrait"
  >
  </activity>

  <activity 
   android:name=".LegalActivity"
   android:screenOrientation="portrait"
  >
  </activity>

  <activity 
   android:name=".AboutActivity"
   android:screenOrientation="portrait"
  >
  </activity>

  <activity 
   android:name=".SettingsAndAboutActivity"
   android:screenOrientation="portrait"
   >
  </activity>

  <activity
   android:name=".ResultsPageActivity"
   android:screenOrientation="portrait"
   >
  </activity>

    </application>
<uses-sdk android:minSdkVersion="1" 
/>

</manifest> 

6 个答案:

答案 0 :(得分:21)

此例外与Android无关:

  

[2010-12-10 10:43:19 - com.android.ide.eclipse.adt.internal.project.AndroidManifestHelper]无法读取/media/DATA/code/Android/XXX/AndroidManifest.xml:org .eclipse.core.internal.resources.ResourceException:资源与文件系统不同步:'/ XXX / AndroidManifest.xml'。

这意味着Eclipse编辑器中加载的文件与文件系统上的文件不同。

在导航器或包浏览器视图中单击资源(甚至更好的是eclipse项目),右键单击并选择“刷新”。

在您看到文件实际包含的内容之前,是否会完全解决您的构建问题是不可知的。

答案 1 :(得分:12)

在Eclipse之外编辑工作台资源时会发生此错误。 要解决此问题,请右键单击项目或已编辑的资源,然后选择“刷新”。 如果您在Eclipse之外编辑很多,可以通过转到Window-&gt; Preferences菜单启用自动刷新,然后在Preferences对话框中选择General&gt;工作区。 选中“自动刷新”框。

答案 2 :(得分:2)

在Eclipse中,如果遇到此问题,有两种常见的方法可以解决它。

  1. 选择其他提供的答案中刚刚提到的“刷新”项目。 (右键单击项目,然后选择“刷新”。)

  2. 如果“刷新”不起作用,请尝试“清理”项目。 (从菜单栏中选择“项目”,然后选择“清洁...”项目。确保检查当前项目以进行清理。)

  3. 通常,这两个步骤将解决90%的编译问题 - 如果编译错误不是某些代码更改的直接结果。

答案 3 :(得分:0)

我遇到了这个确切的问题,让项目更新起来就像一个魅力。

答案 4 :(得分:0)

当您尝试将基于AndroidStudio的项目导入eclipse IDE时,您也可以获得此错误。

如果是这种情况,刷新就没有意义了。你必须重新安排从Java forlder到src文件夹的所有文件...(我猜它是时候切换到Android Studio了)

答案 5 :(得分:0)

没有回答对我有用。在我的清单文件中,缺少属性包,因此它给出了此错误。

我使用以下代码段添加了此属性,并在刷新后工作。

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
           package="com.example.myapp"  >