¿Se ha movido la ubicación de la biblioteca en Android 4.2.1?
Me enfrenté a un problema sospechoso cuando traté de actualizar mi aplicación Android para trabajar en 4.2.1, Nexus 7. Estoy usando mi propia biblioteca .so, cuya inclusión estaba funcionando bien en Android versión 4.1, antes de actualizar. Ahora tengo todo tipo de problemas.
Comparé los registros al desplegar en un dispositivo androide que funcionaba 3.2.1 y mi Nexus 7 que funcionaba 4.2.1. La biblioteca se está colocando en dos lugares diferentes, lo que podría estar causando mis problemas.
- Actualización de la interfaz de usuario de hilo de fondo utilizando código nativo enteramente (sin JNI)?
- El proceso de alojamiento del servicio de cámara ha muerto inesperadamente
- Extraer código de archivo .aar Android
- Declaración implícita incompatible de la función incorporada Advertencia Uso de NDK con LAME
- Error de segmentación en la biblioteca nativa cuando se ejecuta bajo Android antes de 4.0.3
ANDROID 3.2.1:
Trying to load lib /data/data/com.my.app/lib/lib_my_app_jni.so 0x407e8218 Added shared lib /data/data/com.my.app/lib/lib_my_app_jni.so 0x407e8218
ANDROID 4.2.1 (Nexus 7):
Trying to load lib /data/app-lib/com.my.app-1/lib_my_app_api_jni.so 0x4257b6c8 Added shared lib /data/app-lib/com.my.app-1/lib_my_app_api_jni.so 0x4257b6c8
¿Por qué todo de repente se coloca en los misterios app-lib dir? ¿Cómo puedo forzarlo de nuevo? ¿Y dónde está documentado?
Gracias…
- Cómo encontrar fugas de memoria del código nativo en android
- ¿Cómo se aplica el permiso de Android?
- Integración o compilación de instrucciones para libjpeg-turbo en Android
- Integración de jpct-ae con el motor Vuforia de Qualcomm en android
- FindClass de cualquier hilo en Android JNI
- Carpetas de estudio androide dentro de paquetes
- Compilar Java para Android nativo en lugar de escribir en C
- JNI ERROR (bug de la aplicación): desbordamiento de la tabla de referencia local (máx = 512)
Desde Android 4.2, se ha añadido una función multiusuario en los frameworks android.
Y varias ubicaciones de directorio se cambian, pero la API no se cambia, como Context.get Dir () o Context.get? Path (). (solo se cambia el valor de retorno)
También la plataforma android hace un enlace simbólico para el legado.
Estos cambios no están documentados.
Voy a responder a mi propia pregunta, porque terminamos implementando nuestra biblioteca de forma diferente a la que originalmente se pensaba.
El problema era que estábamos copiando los certificados de acceso y más, al directorio en el que se encontraba la biblioteca. Este método funcionó bien en versiones anteriores de Android, donde se encontraba en el archivo data / data / package /. Pero en versiones más recientes de Android (data / app-lib / package /) esa ubicación es de sólo lectura.
Lo que hicimos fue mover la ubicación, simple. Gracias por el aporte.
- Utilizar Enhanced For Loop Syntax está generando resultados más lentos
- Error al descargar .apk desde el sitio web de Asp.net usando el navegador de teléfonos Android