viewdatabinding tutorial studio setcontentview example databindingutil databinding data android android-ndk opensl

tutorial - import databinding android



Vinculación con la biblioteca actualizada en Android (1)

Desarrollé una aplicación y una biblioteca nativa para Android. La biblioteca nativa usa openSL ES para el procesamiento de audio.

En mi archivo Android.mk tengo la siguiente declaración:

LOCAL_LDLIBS := -lOpenSLES

Entonces, supongo que esto significa que la aplicación enlazará dinámicamente en la biblioteca de openSLES desde la carpeta system / lib del dispositivo en el momento en que la aplicación se carga / ejecuta en el dispositivo .

El problema que estoy enfrentando es que las bibliotecas del dispositivo tienen errores y tengo 3 bibliotecas actualizadas que contienen la corrección de errores. Si es posible, ¿cómo me aseguro de que mi biblioteca nativa esté utilizando las 3 bibliotecas que tengo?

Libwilhelm.so libOpenMAXAL.so libOpenSLES.so

¿Acabo de reemplazar

LOCAL_LDLIBS := -lOpenSLES

con

LOCAL_SHARED_LIBRARIES := -lOpenSLES -lOpenMAXAL -lwilhelm


Mientras se dirija a un dispositivo específico o a un conjunto muy limitado de dispositivos, la solución propuesta es lo suficientemente buena. Pero si su objetivo es una aplicación pública, que se instalará en diferentes plataformas, incluida la futura versión ''N'' de Android, y las ROM personalizadas, incluido, por ejemplo, Samsung, debe tener cuidado con las dependencias del sistema de estas bibliotecas.

Si bien OpenSLES y OpenMAXAL son inocentes (solo dependen de liblog y libwilhelm), este último requiere más cuidado.

Mirando su Android.mk , libwilhelm depende de liblog libutils Libmedia libbinder libstagefright libstagefright_foundation libcutils libgui libdl libeffects y libstagefright_http_support .

Solo liblog y libdl son "oficiales" (es decir, parte de NDK). Los demás dependen de la plataforma, y ​​sus funciones exportadas pueden ser incompatibles para diferentes dispositivos con el mismo nivel de plataforma.

Para estar seguro, solo presentaría las correcciones, y seguiré usando la versión del sistema de libwilhelm cuando sea posible. Espero que pueda reducir las dependencias de su sistema de esta manera.