Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Error "No se puede encontrar la biblioteca nativa" en la aplicación Native Activity

Tengo algunos problemas con mi aplicación de actividad nativa. Funciona bien en el 99% de los dispositivos. Pero a veces los usuarios obtienen el siguiente error:

java.lang.RuntimeException: Unable to start activity ComponentInfo{nightradio.sunvox/nightradio.sunvox.MyNativeActivity}: java.lang.IllegalArgumentException: Unable to find native library: sundog at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2070) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2095) at android.app.ActivityThread.access$600(ActivityThread.java:134) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1203) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4830) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556) at dalvik.system.NativeStart.main(Native Method) ... 

No entiendo por qué. La aplicación tiene todas las bibliotecas necesarias en las carpetas armeabi, armeabi-v7a y x86. Y se ha probado en muchos dispositivos con diferentes arquitecturas.

Android: hasCode = "true" existe.

También me di cuenta, que la mayoría de estos dispositivos problemáticos tiene CPU Rockchip (RK3066, RK2928, RK2926). Pero no todos. La última tiene la CPU Huawei K3V2 y una gran cantidad de memoria libre. Otras aplicaciones de la actividad nativa (no la mía) no funcionan en el dispositivo más reciente.

  • Integración de Unity con Eclipse - ¿Cómo seguir las instrucciones del tutorial "oficial"?
  • Cuándo llamar a response.body (). Close ()
  • Error en strings.xml: símbolo no válido 'continuar'
  • Obtener Lat Lang de un place_id devuelto por autocompletar lugar api
  • Android tethering inversa USB: Cómo engañar a las aplicaciones
  • ¿Cómo AOT hace la compilación Andorid mejor?
  • Mantenga el mapa centrado, independientemente de dónde pinche el zoom en android
  • ¿Cómo hacer que una aplicación android vuelva a la última actividad abierta cuando se relanza?
  • One Solution collect form web for “Error "No se puede encontrar la biblioteca nativa" en la aplicación Native Activity”

    Necesitará leer la salida logcat para ver qué pasó antes del bloqueo, lo que impidió la carga de la biblioteca nativa. Utilizo Acra para mis aplicaciones (genera informes de fallo que contienen salida logcat), pero como una solución rápida para obtener la salida logcat sin implementar un sistema completo de informes de fallos, podría usar algo como esto en una compilación de prueba y hacer que el usuario lo ejecute :

     try { Process process = Runtime.getRuntime().exec( "logcat -d" ); BufferedReader bufferedReader = new BufferedReader( new InputStreamReader( process.getInputStream() ) ); StringBuilder log = new StringBuilder(); String line = ""; while( ( line = bufferedReader.readLine() ) != null ) { log.append( line ); } // Output available via log.toString().. do whatever with it } catch( IOException e ) {} 

    Si observa el código fuente de NativeActivty , esta excepción que está viendo se activa en el método onCreate () (vea la línea 171), por lo que si reemplaza ese método en una clase derivada de NativeActivity, puede capturarla y tomar el logcat Salida de allí. A continuación, puede guardar el registro en un archivo y hacer que un usuario con un dispositivo afectado ejecute la prueba y le envíe por correo electrónico el archivo, por ejemplo.

    Otra cosa buena sobre reemplazar onCreate (), es que también le permitirá reproducir algo de lo que sucede detrás de las escenas, con más registro de depuración para ayudarle a rastrear el problema.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.