这可能更多是Linux的bug而不是编程错误,但我不确定。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>