Tengo mi propio archivo apk de biblioteca personalizada (say lib.apk) & quiero que sea disponible para otras aplicaciones. Cómo proporcionar la biblioteca de usos en el archivo android manifest.xml en otras aplicaciones para usar mi biblioteca personalizada.Cómo usar mi archivo apk de biblioteca personalizado en otras aplicaciones
Respuesta
El elemento <uses-library>
es para complementos suministrados como extensiones del firmware. AFAIK, no será utilizable para su escenario.
Es muy probable que necesite implementar un servicio que exhiba una API a través de AIDL, o utilice un conjunto de acciones Intent
documentadas para intercambiar datos con otras aplicaciones, o exponga un ContentProvider
.
De lo contrario, empaquete su código como un JAR, no como un APK. Puede ver muchos ejemplos de esto en my github repositories (todas las teclas siguen este patrón).
Intento utilizar una biblioteca jar en eclipse (agregué una biblioteca jar externa en las opciones Java Build Path de mi proyecto). La aplicación compila pero tengo una excepción "No se pudo encontrar la clase ..." en tiempo de ejecución.
En realidad, puede crear un proyecto que enlace a otro proyecto.
que tiene que hacer dos cosas en Eclipse:
- add-utiliza la biblioteca = nombre del paquete en el manifest.xml
- propiedades del proyecto abiertas -> Java Build Path -> Proyectos y añadir el proyecto de la biblioteca usada
Pero no he logrado que funcione. El SDK sube correcly ambos paquetes, pero me sale un error de enlace
WARN/dalvikvm(444): Link of class 'Lme/guillaumin/android/osmtracker/activity/DisplayTrackMap;' failed
ERROR/dalvikvm(444): Could not find class 'me.guillaumin.android.osmtracker.activity.DisplayTrackMap', referenced from method me.guillaumin.android.osmtracker.activity.TrackLogger.onOptionsItemSelected
WARN/dalvikvm(444): VFY: unable to resolve const-class 154 (Lme/guillaumin/android/osmtracker/activity/DisplayTrackMap;) in Lme/guillaumin/android/osmtracker/activity/TrackLogger;
la máquina virtual no puede cargar la clase en mi aplicación que enlaza en la aplicación de libs.
La "aplicación" lib.apk debe publicar intentos utilizando Intent-Filters
en el archivo AndroidManifest.xml.
La actividad que requiere el uso de la actividad dentro del lib.apk, sólo tiene que iniciar un intento, como a continuación:
Intent i = new Intent();
i.setClass(this, libAPKActivity.class);
Al pasar de una biblioteca frasco para la biblioteca y apk asegurarse de que la referencia a el archivo jar se elimina de "Java Build Path" -> "Proyectos" y la biblioteca se agrega a "Android" -> "Biblioteca".
Gracias, esto funcionó para mi caso en que la aplicación se vinculó a mi biblioteca personalizada, pero cuando instalé la APK en el dispositivo, recibí una advertencia que decía que no se podía encontrar la biblioteca "APK". Quitarlo de la ruta de compilación de Java pero mantenerlo como referencia de biblioteca lo resolvió. – fejd
@fejd Exactamente mi experiencia como se describe [aquí] (http://stackoverflow.com/a/20320105/2930186) – ripopenid
- 1. archivo APK que se instala dos aplicaciones
- 2. Cómo evitar que un dll se cargue en otras aplicaciones
- 3. Iniciar otras aplicaciones con Java
- 4. Cómo usar Boost.Interprocess para transmitir datos a otras aplicaciones?
- 5. Salir de otras aplicaciones en el cacao
- 6. Cómo usar el complemento joomla recaptcha en mi módulo personalizado
- 7. Ubicación del archivo .apk
- 8. cómo usar mi propia biblioteca dinámica en Linux (Makefile)
- 9. Archivo APK de Android: reactivar el archivo APK anterior en Google Play Store
- 10. ¿Es posible ejecutar aplicaciones .APK/Android en dispositivos iPad/iPhone?
- 11. ¿Cómo zipalign el archivo .apk usando eclipse?
- 12. ¿Cómo usar un archivo App.config en aplicaciones WPF?
- 13. ¿Cómo construir apk sin eclipse o modificar el edificio apk con un archivo de configuración?
- 14. Django: ¿se extienden otras aplicaciones ModelAdmin?
- 15. ¿Cómo usar un CSS personalizado con mi Sharepoint WebPart?
- 16. ¿Cómo informo a otras aplicaciones que mi aplicación es parte del escritorio de Windows?
- 17. Comparte una biblioteca nativa en dos aplicaciones
- 18. cómo instalar el archivo apk programáticamente
- 19. ¿Usando SwingEventMonitor para monitorear otras aplicaciones?
- 20. Ejecutar el archivo APK en Eclipse
- 21. ¿Cómo puedo agregar mi formulario personalizado al bloque personalizado en mi módulo personalizado
- 22. ¿cómo puedo reemplazar el archivo XML en APK?
- 23. ¿Cómo instalar el archivo .apk al emulador?
- 24. Android obtener PID de otras aplicaciones
- 25. Cómo instalar el archivo .apk en el dispositivo Android
- 26. Cómo hacer que mi aplicación reciba difusión cuando se instalan o eliminan otras aplicaciones
- 27. ¿Las otras aplicaciones afectan el rendimiento de mi aplicación en iOS?
- 28. ¿cómo puedo importar el archivo .apk del archivo descargado en Eclipse? ¿Tenemos esta opción?
- 29. Android, detectar cuando se inician otras aplicaciones
- 30. ¿Cómo puedo dar el enlace de la tienda de aplicaciones en mis aplicaciones antes de aprobar otras aplicaciones?
¿Por qué necesita una APK para eso? Solo tira un JAR y estarás bien. – Matthias
Tengo el mismo problema. Tengo un software modular que funcionará como actividades múltiples, y no quería repetir las interfaces y el código común en todos los módulos. Ese sería el caso si opto por usar una lib lib. – Spidey
Es difícil incluir recursos en archivos jar, que maneja lib.apk. – phreed