2010-12-10 14 views
7

Esto puede ser más un error de Linux que un error de programación, pero no estoy seguro. El AndroidManifest.xml es algo griego para mí. Dicho esto, mi programa se ha compilado y ejecutado antes en su estado actual perfectamente bien, incluso está en el mercado. Su sido alrededor de un mes desde que he abierto la fuente en Eclipse, y hoy en día cuando la abrí, se negó a compilar y muestra los siguientes errores:"AndroidManifest.xml no declara un paquete de Java" error

[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. 

donde XXX es el nombre del paquete (y el directorio que es situado). He confirmado que el archivo está perfectamente bien en un editor de texto, e incluso lo actualicé en Eclipse. Nada.

Actualicé el ADT ... ¿tal vez cambiaron los criterios para AndroidManifest.xml?

Mi 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> 
+1

de proyectos/archivos de restauración no resuelve el problema ... – Brandon

Respuesta

21

Esta excepción no se relaciona Android:

[2010-12-10 10:43:19 - com.android.ide.eclipse.adt .internal.project.AndroidManifestHelper] No se puede leer /media/DATA/code/Android/XXX/AndroidManifest.xml: org.eclipse.core.internal.resources.ResourceException: El recurso no está sincronizado con el sistema de archivos: '/ XXX /AndroidManifest.xml '.

Significa que el archivo que se carga en el editor Eclipse no es el mismo que el del sistema de archivos.

Haga clic en el recurso (o incluso mejor, el proyecto de eclipse) en la vista del navegador o del explorador de paquetes, haga clic derecho y seleccione 'Actualizar'.

Si esto solucionará por completo su problema de compilación no se conocerá hasta que vea lo que el archivo en realidad contiene.

+0

me ganó de mano por 50 segundos;) – SRM

+0

Refrescante no resuelve el problema. –

12

Este error ocurre cuando edita un recurso de banco de trabajo fuera de Eclipse. Para solucionar este problema, haga clic con el botón derecho en el proyecto o en el recurso editado y seleccione "Actualizar". Si edita mucho fuera de Eclipse, puede habilitar la actualización automática yendo a Ventana-> menú Preferencias, luego en el cuadro de diálogo Preferencias, seleccione General> Espacio de trabajo. Marca la casilla "Actualizar automáticamente".

+0

La actualización de archivos/proyecto completo no resolvió el problema. – Brandon

+2

Tuve el mismo error y la actualización de todo el proyecto me lo resolvió. Inténtalo de nuevo no con [F5], sino con el menú del botón derecho> actualizar. –

+1

¡Brillante! Esto funcionó para mí. Comencé a tener ese problema cuando comencé a compilar mi AndroidManifest.xml (para establecer una clave API que cambia entre dev/staging y producción) en un paso de precompilación. La preferencia de actualización automática del proyecto resolvió mi problema. Gracias @SRM – webmat

2

En Eclipse, si encuentra este problema, existen dos enfoques comunes para resolverlo.

  1. Seleccione el proyecto "Refrescar" que se acaba de mencionar en otras respuestas proporcionadas. (Haga clic con el botón derecho en el proyecto y luego seleccione "Actualizar")

  2. Si "Refrescar" no funciona, intente "Limpiar" el proyecto. (En la barra de menú, seleccione "Proyecto" y luego seleccionar la opción "Clean ...". Asegúrese de que compruebe el proyecto actual de limpiar.)

Normalmente, estos dos pasos se resolverán 90% de los problemas de compilación, si el error de compilación no es un resultado directo de algunos cambios de código.

0

Tuve este problema exacto y refrescar el proyecto funcionó a las mil maravillas.

0

También puede obtener este error eclipse cuando está tratando de importar un proyecto basado en AndroidStudio en su eclipse IDE.

Si este es el caso, no tiene sentido refrescar. Tienes que reorganizar todos los archivos desde Java forlder a la carpeta src ... (Es hora de cambiar a Android Studio, supongo)

0

Sin respuesta funcionó para mí. En mi archivo de manifiesto, faltaba el paquete de atributos y, por lo tanto, daba este error.

He añadido este atributo con el siguiente fragmento de código y funcionó después de la actualización.

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