Cómo arreglar INSTALL_PARSE_FAILED_MANIFEST_MALFORMED en mi aplicación de Android

Hola, estoy intentando experimentar con gcm pero no puedo hacerlo funcionar. No sé dónde estoy jugando con esto, a continuación se muestra el error que estoy recibiendo. Estoy intentando implementar mi aplicación directamente en el dispositivo y depurar desde allí, pero cada vez que bash implementarlo, aparece este error

Waiting for device. Target device: HT24LW108632 Uploading file local path: D:\Data\Android\AndroidTest\out\production\AndroidTest\AndroidTest.apk remote path: /data/local/tmp/Android.Test Installing Android.Test DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/Android.Test" pkg: /data/local/tmp/Android.Test Failure [INSTALL_PARSE_FAILED_MANIFEST_MALFORMED] 

AndroidManifest.xml

                           

Mi dispositivo es HTC OneX

  • Versión de Android: 4.03
  • Versión HTC Sense: 4.0
  • Número de software: 1.29.110.11
  • Nivel de la API de HTC SDK: 4.12
  • Versión de extensión HTC: HTCExtension_403_1_GA_7

Por favor guía como soy un pez nuevo en Android Sea.

Edit-1: Me he dado cuenta de que si comento esta línea a continuación, la aplicación se implementa y se ejecuta, pero obviamente no puedo seguir adelante sin el permiso mencionado a continuación … por favor ayuda …

  

Cambiar el paquete de nombre con mayúsculas y minúsculas.

Cambia tu

android:name="MainActivity"

A

 android:name=".MainActivity" 

O agregue el nombre completo del paquete en minúscula antes de su nombre de clase

 android:name="thepackage.MainActivity" 

Cambie todos los atributos nombrados como android:name dentro de las tags de activity como sugerí.

En lugar de:

  

a:

  

Trata eso.

  

debería formarse como

  

Para hacer esto sin errores, vaya a paquete (clic con el botón derecho)> herramientas de Android> cambie el nombre del paquete de la aplicación

intente escribir el nombre de la actividad seguido por “.” En lugar de

  

utilizar

  

Me encontré con este mismo problema en el estudio de Android

lo que resuelve esto es dejar que el dominio de la compañía sea letras pequeñas,

Existe un problema al respecto: http://code.google.com/p/android/issues/detail?id=37658 Las mayúsculas no se pueden usar en los nombres de los paquetes dentro de los permisos. Tienes (lo mismo que yo) en una situación difícil cuando has implementado una aplicación con un nombre de paquete como este y necesitas usar GCM. Intenté usar algún tipo de permiso breve:

   

También definí el servicio de la misma manera. Tenía que estar en el paquete de la aplicación. Funcionó en Android 4.3. Probablemente en 4.2 también. Sé que en 4.0.3 no lo hizo.

asegúrate de que el nombre de tu paquete esté en letras pequeñas … funcionó para mí

escriba el nombre del paquete java y el nombre de todas las carpetas en minúsculas, funcionará bien …

En mi caso, me mencionaron el nombre del paquete solo en letras pequeñas. Pero para algunas de las actividades lo llamé con un nombre parcial, es decir, android:name=".ContactUs" . Después de que lo resolví prefijando el nombre completo del paquete antes de todo el nombre de la actividad, el nombre del servicio y el nombre del proveedor de difusión en el archivo Manifest.

Código de trabajo