这可能更像是 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>
最佳答案
此异常与 Android 无关:
[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'.
这意味着在 Eclipse 编辑器中加载的文件与文件系统中的文件不同。
在导航器或包资源管理器 View 中单击资源(或者更好的是,eclipse 项目),右键单击并选择“刷新”。
这是否会完全解决您的构建问题,直到您看到文件实际包含的内容才能知道。
关于android - "AndroidManifest.xml does not declare a Java package"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4411488/