No se pudo encontrar la Biblioteca.apk!


Logré reestructurar mi aplicación bastante bien para que, a excepción de algunos métodos en una clase de Actividad derivada, todo esté en un proyecto de Biblioteca.

Funciona muy bien, excepto que la consola de Eclipse (no LogCat!) emite el siguiente mensaje de error:

[2011-06-13 19:54:08 - MyLibrary] Could not find MyLibrary.apk!

Limpié ambos proyectos (biblioteca y aplicación), reinicié Eclipse, reconstruí los proyectos, pero este extraño mensaje de error persiste.

¿Qué significa este mensaje de error? (especialmente en la luz que todo parece estar funcionando bien)

¿Cómo me deshago de él?

UPDATE : Intenté eliminar el proyecto y luego volver a importarlo según la sugerencia a continuación. No ayudó. Luego encontré este hilo que me ayudó a darme cuenta de que tenía <uses-library> en el AndroidManifest de la aplicación.xml que hace referencia a MyLibrary. Lo borré, limpié el proyecto y lo reconstruí. El problema persiste.

Ahora estoy sospechando que esto es un "problema real", e. g. mala configuración de algunos caminos o algo más de mi parte. ¿Qué podría ser?

Author: Community, 2011-06-14

7 answers

¡Encontré la fuente del problema!

Resulta que " con la nueva función de biblioteca, no especifica los proyectos de Android de los que depende en la sección Java Build Path de las Propiedades. Lo haces en la sección Android de las Propiedades ".

Así que todo lo que tenía que hacer era ir al Proyecto de la Aplicación Properties, presionar la pestaña Projects, seleccionar mi propio proyecto de biblioteca y hacer clic en el botón Remove. Eso es. No más problemas.

En Eclipse Java EE seleccione el proyecto Propiedades, a continuación, seleccione Project References, a continuación, compruebe el FacebookSDK (ver captura de pantalla) introduzca la descripción de la imagen aquí

Gracias a Lance Nanek!

 162
Author: an00b,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-07-24 18:04:03

Eso es interesante... No hice exactamente lo que especifica la respuesta..

Tengo un proyecto android separado llamado "ConnectionHandler" que se conecta a un servicio web para recuperar información. Este proyecto no contiene clases de actividad. (Si lo hiciera, requeriría cambios en el archivo AndroidManifest en su aplicación Principal, así como seguir las instrucciones a continuación).

Para usar mi proyecto separado ConnectionHandler como un biblioteca Necesitaba hacer lo siguiente:

  1. En la Aplicación Principal > Seleccione propiedades del proyecto > Vaya a Java Build Path > Add Jars > Seleccione la carpeta bin de ConnectionHandler > elija connectionhandler.jar
  2. En el proyecto ConnectionHandler > Seleccione propiedades del proyecto > Android > Compruebe isLibrary
  3. En la aplicación principal > Seleccione propiedades del proyecto > Vaya a Android > Agregar referencia a ConnectionHandler en la sección Biblioteca.

Esto funciona para me, y puedo conectarme a mi servicio web, aunque no tengo archivos fuente para hacer esto en mi aplicación principal. Todo está contenido dentro de mi frasco Conectohandler que está siendo referenciado..

Espero que esto ayude a alguien...

 4
Author: ryvianstyron,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-09-21 14:52:34

Hoy empecé a recibir este mensaje de error en la vista de consola de Eclipse, pero resulta que este no era el problema. Mi aplicación se construiría e instalaría en mi dispositivo, e incluso se ejecutaría durante una fracción de segundo (hasta que se bloqueara). Así es como se veía mi vista de consola en Eclipse:

[2013-06-03 09:42:25 - my-android] Android Launch!
[2013-06-03 09:42:25 - my-android] adb is running normally.
[2013-06-03 09:42:25 - my-android] Performing com.my.android.activity.MainActivity activity launch
[2013-06-03 09:42:25 - my-android] Uploading my-android.apk onto device '650rfs2e'
[2013-06-03 09:42:31 - my-android] Installing my-android.apk...
[2013-06-03 09:42:35 - my-android] Success!
[2013-06-03 09:42:36 - my-other-android] Could not find my-other-android.apk!
[2013-06-03 09:42:36 - android-SherlockFragment] Could not find android-SherlockFragment.apk!
[2013-06-03 09:42:36 - my-android] Starting activity com.my.android.activity.MainActivity on device 650rfs2e
[2013-06-03 09:42:36 - my-android] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.my.android/.activity.MainActivity }

Pero tras una inspección cercana de mi LogCat, hubo una excepción tonta que se lanzó de un fragmento que estaba tratando de inicializar. Una vez arreglé mi fragmento (que estaba levantando un NPE), todo salió bien, incluso a través de mi consola todavía me dice que no puede encontrar los APK de la biblioteca.

 2
Author: rodrigo-silveira,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-06-03 15:48:51

¿Ha intentado eliminar el proyecto sin eliminarlo del disco duro y reimportar el proyecto? Eso parecía funcionar para mí cuando tuve este problema.

 1
Author: Novazero,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-06-14 00:21:26

Usando las preferencias de Eclipse puedes terminar con libs agregándose por todas partes. Tenía una biblioteca referenciada en las carpetas / libs y Bibliotecas Referenciadas. Tuve que eliminarlos o eliminarlos de estas ubicaciones e insertarlos en las dependencias de Android (usando Preferencias -> Android y navegando debajo de la casilla de verificación "Es Biblioteca".)

El diseño correcto para mi proyecto: http://www.pasteall.org/pic/show.php?id=34513

 0
Author: darKoram,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-07-08 19:05:11

Para mí, la razón por la que esto estaba sucediendo era que el proyecto de la biblioteca y el proyecto principal tenían el mismo paquete. La forma más fácil de cambiar el paquete es a right click on the library project > Android Tools > Rename Application Package.

 0
Author: Jarett Millard,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-12-04 18:15:17

La solución a este problema para mí, fue eliminar las entradas erróneas del archivo de manifiesto de los proyectos de la biblioteca.

El bloqueo solo ocurriría en tiempo de ejecución cuando se diera el primer uso de mi proyecto de biblioteca. Una vez que cambio la propiedad Application Name para reflejar la clase de aplicación correcta para el proyecto que usó el proyecto de la biblioteca, entonces funcionó

 0
Author: Shane,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-01-19 17:36:52