Introducción
A veces sucede que cuando mandamos nuestra aplicación, en mi caso hecha en Unity3D como apk al Market (Ahora Google Play) nos empiezan a llegar multiples errores que dicen en el título:
java.lang.IllegalArgumentException
en android.app.NativeActivity.onCreate
y en el contenido viene algo similar a esto:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.nextia.tapa1/com.unity3d.player.UnityPlayerNativeActivity}: java.lang.IllegalArgumentException: Unable to find native library: main
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1755)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1774)
at android.app.ActivityThread.access$1500(ActivityThread.java:157)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1001)
at android.os.Handler.dispatchMessage(Handler.java:130)
at android.os.Looper.loop(SourceFile:351)
at android.app.ActivityThread.main(ActivityThread.java:3841)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:538)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:969)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:727)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.IllegalArgumentException: Unable to find native library: main
at android.app.NativeActivity.onCreate(NativeActivity.java:218)
at com.unity3d.player.UnityPlayerNativeActivity.onCreate(Unknown Source)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1082)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1719)
en android.app.NativeActivity.onCreate
y en el contenido viene algo similar a esto:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.nextia.tapa1/com.unity3d.player.UnityPlayerNativeActivity}: java.lang.IllegalArgumentException: Unable to find native library: main
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1755)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1774)
at android.app.ActivityThread.access$1500(ActivityThread.java:157)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1001)
at android.os.Handler.dispatchMessage(Handler.java:130)
at android.os.Looper.loop(SourceFile:351)
at android.app.ActivityThread.main(ActivityThread.java:3841)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:538)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:969)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:727)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.IllegalArgumentException: Unable to find native library: main
at android.app.NativeActivity.onCreate(NativeActivity.java:218)
at com.unity3d.player.UnityPlayerNativeActivity.onCreate(Unknown Source)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1082)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1719)
Solución
Primero debemos buscar absolutamente todos los manifests de nuestro proyecto , si está usando eclipse, normalmente debería de ser un único archivo.
Deberemos abrir TODOS los archivos y localizar el tag( etiqueta ) <application
Deberemos agregar el atributo android:hasCode="true"
Explicación
El error en sí nos dice que hubo un problema al crear la aplicación nativa, y esto es en los dispositivos de baja gama que tratan de correr nuestra aplicación como nativa para aumentar su velocidad de ejecución. En el caso de Unity android, se agregan librerías dll propias de la plataforma .Net, por lo que deberemos de agregar este tag prácticamente siempre.
Fuentes
Libro programming android
https://groups.google.com/forum/#!topic/android-ndk/G6GDWJEvbrI
No hay comentarios:
Publicar un comentario