2010-08-31 20 views
14

Acabo de unir mi primera aplicación, la he liberado, la he firmado y transferido a mi teléfono, pero no la puedo instalar en mi teléfono, después de pasar por la pantalla diciendo "¿Quieres? para instalar esta aplicación y hacer clic en instalar, solo recibo un mensaje que dice 'Aplicación no instalada' sin más explicaciones. Revisé la firma usando jarsigner -verify.No se puede instalar .apk en el teléfono

He cargado el .apk en http://ubuntuone.com/p/ESB/ y obtuve el registro utilizando la aplicación LogCollector en mi teléfono. El extracto relevante se reproduce a continuación.

Log Collector version: 1.1.0 
Device model: HTC Desire 
Firmware version: 2.2 
Kernel version: 2.6.32.15-gf9c0527 
[email protected]) 
#1 PREEMPT Fri Jul 23 17:26:53 CST 2010 
Build number: FRF91 

08-31 10:18:21.289 I/ActivityManager( 93): Starting activity: Intent { act=android.intent.action.VIEW dat=file:///sdcard/blanket.apk typ=application/vnd.android.package-archive cmp=com.android.packageinstaller/.PackageInstallerActivity } 
08-31 10:18:21.359 I/PackageParser(20453): uk.co.oketchup.blanketsquare: compat added android.permission.WRITE_EXTERNAL_STORAGE android.permission.READ_PHONE_STATE 
08-31 10:18:21.379 D/skia (20453): --- decoder->decode returned false 
08-31 10:18:21.669 I/ActivityManager( 93): Displayed activity com.android.packageinstaller/.PackageInstallerActivity: 331 ms (total 331 ms) 
08-31 10:18:22.059 D/PowerManagerService( 93): New lightsensor value:640, lcdValue:192 
08-31 10:18:22.390 D/SynchronizationService(20285): Checking preferences 
08-31 10:18:22.769 I/ActivityManager( 93): Starting activity: Intent { dat=file:///sdcard/blanket.apk cmp=com.android.packageinstaller/.InstallAppProgress (has extras) } 
08-31 10:18:22.849 D/skia (20453): --- decoder->decode returned false 
08-31 10:18:22.999 D/dalvikvm(20459): GC_EXPLICIT freed 419 objects/23968 bytes in 74ms 
08-31 10:18:23.089 D/PackageParser( 93): Scanning package: /data/app/vmdl73677.tmp 
08-31 10:18:23.099 I/PackageParser( 93): uk.co.oketchup.blanketsquare: compat added android.permission.WRITE_EXTERNAL_STORAGE android.permission.READ_PHONE_STATE 
08-31 10:18:23.129 I/ActivityManager( 93): Displayed activity com.android.packageinstaller/.InstallAppProgress: 320 ms (total 320 ms) 
08-31 10:18:23.139 W/PackageParser( 93): Exception reading res/layout/main.xml in /data/app/vmdl73677.tmp 
08-31 10:18:23.139 W/PackageParser( 93): java.io.IOException 
08-31 10:18:23.139 W/PackageParser( 93): at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:207) 
08-31 10:18:23.139 W/PackageParser( 93): at java.util.zip.ZipFile$ZipInflaterInputStream.read(ZipFile.java:432) 
08-31 10:18:23.139 W/PackageParser( 93): at java.io.FilterInputStream.read(FilterInputStream.java:130) 
08-31 10:18:23.139 W/PackageParser( 93): at org.apache.harmony.luni.util.InputStreamHelper.readFullyAndClose(InputStreamHelper.java:174) 
08-31 10:18:23.139 W/PackageParser( 93): at java.util.jar.JarFile.getManifest(JarFile.java:307) 
08-31 10:18:23.139 W/PackageParser( 93): at java.util.jar.JarFile.getInputStream(JarFile.java:385) 
08-31 10:18:23.139 W/PackageParser( 93): at android.content.pm.PackageParser.loadCertificates(PackageParser.java:338) 
08-31 10:18:23.139 W/PackageParser( 93): at android.content.pm.PackageParser.collectCertificates(PackageParser.java:509) 
08-31 10:18:23.139 W/PackageParser( 93): at com.android.server.PackageManagerService.installPackageLI(PackageManagerService.java:5961) 
08-31 10:18:23.139 W/PackageParser( 93): at com.android.server.PackageManagerService.access$2100(PackageManagerService.java:138) 
08-31 10:18:23.139 W/PackageParser( 93): at com.android.server.PackageManagerService$5.run(PackageManagerService.java:4819) 
08-31 10:18:23.139 W/PackageParser( 93): at android.os.Handler.handleCallback(Handler.java:587) 
08-31 10:18:23.139 W/PackageParser( 93): at android.os.Handler.dispatchMessage(Handler.java:92) 
08-31 10:18:23.139 W/PackageParser( 93): at android.os.Looper.loop(Looper.java:144) 
08-31 10:18:23.139 W/PackageParser( 93): at android.os.HandlerThread.run(HandlerThread.java:60) 
08-31 10:18:23.139 W/PackageParser( 93): Caused by: java.util.zip.DataFormatException: data error 
08-31 10:18:23.139 W/PackageParser( 93): at java.util.zip.Inflater.inflateImpl(Native Method) 
08-31 10:18:23.139 W/PackageParser( 93): at java.util.zip.Inflater.inflate(Inflater.java:255) 
08-31 10:18:23.139 W/PackageParser( 93): at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:188) 
08-31 10:18:23.139 W/PackageParser( 93): ... 14 more 
08-31 10:18:23.149 E/PackageParser( 93): Package uk.co.oketchup.blanketsquare has no certificates at entry res/layout/main.xml; ignoring! 
08-31 10:18:23.269 D/dalvikvm( 93): GC_EXPLICIT freed 5970 objects/337960 bytes in 107ms 
08-31 10:18:24.729 I/InstallAppProgress(20453): Finished installing uk.co.oketchup.blanketsquare 

Muchas gracias por su ayuda.


Edición 02/09/2010 He modificado el archivo main.xml de nuevo mediante la eliminación de prácticamente todo el espacio en blanco. Todavía no se instala pero no es exactamente el mismo error: se dice que hay un error de archivo zip, aunque noto que los certificados aparecen más abajo en la lista. Si esto no es algo que evidentemente estoy haciendo mal, ¿sería mejor si me crié en la lista de distribución de desarrolladores de Android?

09-02 17:33:32.819 W/PackageParser( 93): Exception reading /data/app/vmdl73692.tmp 
09-02 17:33:32.819 W/PackageParser( 93): java.io.IOException 
09-02 17:33:32.819 W/PackageParser( 93): at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:207) 
09-02 17:33:32.819 W/PackageParser( 93): at java.util.zip.ZipFile$ZipInflaterInputStream.read(ZipFile.java:432) 
09-02 17:33:32.819 W/PackageParser( 93): at java.io.FilterInputStream.read(FilterInputStream.java:130) 
09-02 17:33:32.819 W/PackageParser( 93): at org.apache.harmony.luni.util.InputStreamHelper.readFullyAndClose(InputStreamHelper.java:174) 
09-02 17:33:32.819 W/PackageParser( 93): at java.util.jar.JarFile.readMetaEntries(JarFile.java:360) 
09-02 17:33:32.819 W/PackageParser( 93): at java.util.jar.JarFile.<init>(JarFile.java:237) 
09-02 17:33:32.819 W/PackageParser( 93): at java.util.jar.JarFile.<init>(JarFile.java:218) 
09-02 17:33:32.819 W/PackageParser( 93): at android.content.pm.PackageParser.collectCertificates(PackageParser.java:471) 
09-02 17:33:32.819 W/PackageParser( 93): at com.android.server.PackageManagerService.installPackageLI(PackageManagerService.java:5961) 
09-02 17:33:32.819 W/PackageParser( 93): at com.android.server.PackageManagerService.access$2100(PackageManagerService.java:138) 
09-02 17:33:32.819 W/PackageParser( 93): at com.android.server.PackageManagerService$5.run(PackageManagerService.java:4819) 
09-02 17:33:32.819 W/PackageParser( 93): at android.os.Handler.handleCallback(Handler.java:587) 
09-02 17:33:32.819 W/PackageParser( 93): at android.os.Handler.dispatchMessage(Handler.java:92) 
09-02 17:33:32.819 W/PackageParser( 93): at android.os.Looper.loop(Looper.java:144) 
09-02 17:33:32.819 W/PackageParser( 93): at android.os.HandlerThread.run(HandlerThread.java:60) 
09-02 17:33:32.819 W/PackageParser( 93): Caused by: java.util.zip.DataFormatException: data error 
09-02 17:33:32.819 W/PackageParser( 93): at java.util.zip.Inflater.inflateImpl(Native Method) 
09-02 17:33:32.819 W/PackageParser( 93): at java.util.zip.Inflater.inflate(Inflater.java:255) 
09-02 17:33:32.819 W/PackageParser( 93): at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:188) 
09-02 17:33:32.819 W/PackageParser( 93): ... 14 more 

Respuesta

0

Hay alguna excepción que se eleva al intentar acceder al archivo llamado main.xml

res de lectura Excepción/layout/main.xml en /data/app/vmdl73677.tmp

Intente eliminar o volver a crear ese archivo y luego compilar/signo y ejecutar la aplicación

http://www.google.com/support/forum/p/Android%20Market/thread?tid=11b65a3c2807848a&hl=en

+0

Realicé algunos cambios menores en el archivo y volví a compilar/firmar. Sin embargo, recibo exactamente el mismo error. No creo que pueda eliminar el archivo porque es necesario para el diseño. –

+0

¿Puedes intentar quedarte del archivo y verificar si la excepción se está lanzando en el mismo archivo? – DeRagan

+0

Intenté cambiarle el nombre a main2.xml y cambiar la referencia a setContentView. Ahora recibí un mensaje ligeramente diferente Excepción que lee res/layout/main2.xml en /data/app/vmdl73684.tmp java.io.IOException: atributo inválido 61 en java.util.jar.InitManifest.readName (InitManifest.java:150) en java.util.jar.InitManifest.readHeader (InitManifest.java:115) en java.util.jar.InitManifest.initEntries (InitManifest.java:75) en java.util.jar. Manifest.read (Manifest.java:234) en java.util.jar.Manifest. (Manifest.java:116) [etc] –

2

He visto .apks corruptos que no se cargarán en un dispositivo, con extrañas IOExcepciones. Siguiendo estos pasos en Eclipse parece evitar los problemas que he visto:

  1. Asegúrese de que el Proyecto -> crear automáticamente se desactiva (es decir, sin marcar)
  2. Proyecto -> Limpiar ..., seleccione "Limpiar todos los proyectos", asegúrese de que la casilla "Iniciar una compilación automáticamente" esté desmarcada y haga clic en Aceptar.
  3. Uso Archivo -> Exportar -> Android -> exportación de aplicaciones Android para crear el archivo APK
1

La razón de esto es que el APK no está firmado.

Si usa eclipse, deberá firmar la aplicación durante la compilación. Puede firmar la aplicación usando sus claves, si tiene, o puede crear una apk con las claves de depuración provistas con eclipse.

Procedimiento:.

Rtclick el proyecto> Herramientas de Android> Exportar Firmado paquete de aplicaciones"> especifica la ubicación del almacén de claves (para una apariencia de depuración de almacén de claves en el directorio principal de su equipo, la contraseña para la clave de depuración es androide)

+0

La pregunta dice "He comprobado la firma usando' jarsigner -verify'. " ¿Cómo puedes estar seguro de que la apk no está firmada? – LarsH

Cuestiones relacionadas