Soy nuevo en el NDK de Android y no entiendo las diferencias entre bibliotecas estáticas y compartidas. ¿Qué son, y cuándo elegiría un tipo sobre el otro?¿Diferencia entre bibliotecas estáticas y compartidas en NDK de Android?
Respuesta
El término biblioteca compartida no encaja a la perfección con el NDK de Android, porque en muchos casos las bibliotecas .so realmente no se comparten entre las aplicaciones. Es mejor clasificar las bibliotecas que construye el NDK como estáticas y dinámicas.
Cada aplicación de Android es una aplicación de Java, y el único punto de entrada para el código de NDK es cargarlo como una biblioteca dinámica y llamarlo a través de JNI.
Las bibliotecas estáticas son un archivo de archivos de objetos compilados. Se agrupan en otras bibliotecas en tiempo de compilación. El NDK elimina las partes no utilizadas del código de las bibliotecas estáticas para reducir el tamaño total.
Las bibliotecas dinámicas se cargan en tiempo de ejecución desde archivos separados. Pueden contener bibliotecas estáticas de las que dependen o cargar más bibliotecas dinámicas.
Entonces, lo que realmente necesita para el desarrollo de Android es al menos una biblioteca compartida, que se llamará desde el código Java y se vinculará preferiblemente con sus dependencias como bibliotecas estáticas.
Bibliotecas nativas compartidas: El NDK crea estas bibliotecas, o archivos .so, desde su código fuente nativo. Bibliotecas estáticas nativas: NDK también puede crear bibliotecas estáticas, o archivos .a, que puede vincular con otras bibliotecas.
Esto es de acuerdo a NDK Documentación
- 1. ¿Diferencia entre bibliotecas estáticas y compartidas?
- 2. Android NDK, dos bibliotecas estáticas y Vinculación
- 3. Mezcla de bibliotecas estáticas y bibliotecas compartidas
- 4. Vinculación de bibliotecas estáticas en android ndk
- 5. ¿Diferencia entre módulos y bibliotecas compartidas?
- 6. Crear bibliotecas estáticas y compartidas de C++
- 7. Conflictos de símbolos de bibliotecas estáticas y compartidas?
- 8. Tiempo de carga para bibliotecas compartidas vs bibliotecas estáticas
- 9. excepciones entre bibliotecas compartidas en C++ g ++
- 10. bibliotecas nativas múltiples (mi y de terceros) en Android NDK
- 11. Automake y bibliotecas compartidas estándar
- 12. ctypes para bibliotecas estáticas?
- 13. Diferencia entre variables estáticas públicas y privadas estáticas
- 14. Empaquetar bibliotecas compartidas en el duende
- 15. usando librerías estáticas prediseñadas para desarrollo Android NDK
- 16. Android NDK - OpenGL ES Tutorial/Bibliotecas
- 17. bibliotecas estáticas
- 18. Cargando compartido bibliotecas que dependen de otras bibliotecas compartidas
- 19. Makefile para bibliotecas compartidas?
- 20. Bibliotecas compartidas opcionales
- 21. Preferencias compartidas de Android
- 22. Variables globales, bibliotecas compartidas y -fPIC efecto
- 23. Dilema sobre las bibliotecas compartidas en Unix
- 24. ¿Cómo puedo evitar errores de "símbolo duplicado" en xcode con bibliotecas estáticas compartidas?
- 25. ¿Necesito bibliotecas estáticas para vincular estáticamente?
- 26. Práctica recomendada para dependencias de bibliotecas estáticas
- 27. Lisp y Android NDK
- 28. Fusionar varias bibliotecas .so compartidas
- 29. cómo incluir bibliotecas compartidas precompiladas en apk con eclipse
- 30. rutas relativas para bibliotecas compartidas
limpia una concisa .. Gracias – baash05
Realmente gran respuesta –
Gracias, muy buena respuesta. Al punto. –