¿Cómo puedo solucionar esta excepción fatal?
Estoy portando mi código C / C ++ en un juego de Android usando el NDK, pero estoy teniendo problemas para empezar.
He descargado el NDK-r5b de developer.android.com y he instalado Cygwin.
- No se carga ninguna tabla de símbolos. Utilice el comando "file". Con eclipse y NDK
- Compilación de la biblioteca de Android-OpenCV con Cygwin
- Android ndk-build iostream: Ningún archivo o directorio
- Error al crear una biblioteca ndk
- Cómo compilar ffmpeg-2.2.2 en windows con cygwin y android ndk r9c
Ni siquiera soy capaz de ejecutar el programa Hello-jni
proporcionado dentro de las muestras NDK.
Cuando corro:
$ cd /cygdrive/c/android/android-ndk-r5b/samples/hello-jni $ ndk-build
Consigo un ERROR: You are using a non-Cygwin compatible Make program
.
Intenté instalar GNUMake 3.81 pero el problema persiste.
He intentado ejecutar el programa de ejemplo HELLO-JNI
en el NDK a través de Eclipse IDE. Hay una fuerza cerca en el Android AVD, y logcat estaba mostrando una excepción de la siguiente manera:
04-08 12:32:11.609: ERROR/AndroidRuntime(274): FATAL EXCEPTION: main 04-08 12:32:11.609: ERROR/AndroidRuntime(274): java.lang.ExceptionInInitializerError 04-08 12:32:11.609: ERROR/AndroidRuntime(274): at java.lang.Class.newInstanceImpl(Native Method) 04-08 12:32:11.609: ERROR/AndroidRuntime(274): at java.lang.Class.newInstance(Class.java:1429) 04-08 12:32:11.609: ERROR/AndroidRuntime(274): at android.app.Instrumentation.newActivity(Instrumentation.java:1021) 04-08 12:32:11.609: ERROR/AndroidRuntime(274): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java: 2577) 04-08 12:32:11.609: ERROR/AndroidRuntime(274): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java: 2679) 04-08 12:32:11.609: ERROR/AndroidRuntime(274): at android.app.ActivityThread.access$2300(ActivityThread.java:125) 04-08 12:32:11.609: ERROR/AndroidRuntime(274): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 04-08 12:32:11.609: ERROR/AndroidRuntime(274): at android.os.Handler.dispatchMessage(Handler.java:99) 04-08 12:32:11.609: ERROR/AndroidRuntime(274): at android.os.Looper.loop(Looper.java:123) 04-08 12:32:11.609: ERROR/AndroidRuntime(274): at android.app.ActivityThread.main(ActivityThread.java:4627) 04-08 12:32:11.609: ERROR/AndroidRuntime(274): at java.lang.reflect.Method.invokeNative(Native Method) 04-08 12:32:11.609: ERROR/AndroidRuntime(274): at java.lang.reflect.Method.invoke(Method.java:521) 04-08 12:32:11.609: ERROR/AndroidRuntime(274): at com.android.internal.os.ZygoteInit $MethodAndArgsCaller.run(ZygoteInit.java:868) 04-08 12:32:11.609: ERROR/AndroidRuntime(274): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 04-08 12:32:11.609: ERROR/AndroidRuntime(274): at dalvik.system.NativeStart.main(Native Method) 04-08 12:32:11.609: ERROR/AndroidRuntime(274): Caused by: java.lang.UnsatisfiedLinkError: Library hello-jni not found 04-08 12:32:11.609: ERROR/AndroidRuntime(274): at java.lang.Runtime.loadLibrary(Runtime.java:461) 04-08 12:32:11.609: ERROR/AndroidRuntime(274): at java.lang.System.loadLibrary(System.java:557) 04-08 12:32:11.609: ERROR/AndroidRuntime(274): at com.example.hellojni.HelloJni.<clinit>(HelloJni.java:67) 04-08 12:32:11.609: ERROR/AndroidRuntime(274): ... 15 more 04-08 12:32:11.678: WARN/ActivityManager(59): Force finishing activity com.example.hellojni/.HelloJni 04-08 12:32:12.340: WARN/ActivityManager(59): Activity pause timeout for HistoryRecord{44f925c8 com.example.hellojni/.HelloJni}
¿Cómo puedo hacer que esto funcione?
- Depuración NDK de Android: armeabi-v7a no funciona
- ¿Cómo configurar Tesseract en Eclipse para el desarrollo de Android?
- arm-linux-androideabi-g ++. exe: CreateProcess: No hay tal error de archivo o directorio
- Error en la creación del proyecto cocos2d-x android: atributo de objeto EABI desconocido 44
- ANDROID NDK - android: comando no encontrado
- Android CDT: ¿Es posible usar ndk-build sin bash (Eclipse en Windows)?
- No se puede usar ndk-build en Cygwin
- Cómo configurar la variable GNUMAKE para que ndk-build funcione
Tuve este mismo problema y me di cuenta. La cosa que lo estaba haciendo estropear para mí estaba en Propiedades del Proyecto -> C / C ++ Build -> Comando de construcción: se estableció en 'bash ndk-build' en lugar de 'bash C: \ android-ndk-r6 \ ndk- construir'
Tuve este problema. Resultó que la cadena de herramientas GNU no se instaló cuando instalé Cygwin, y que se estaba recogiendo desde otro SDK instalado en mi máquina de compilación. La solución era reinstalar Cygwin y comprobar que las herramientas Gnu estaban instaladas. (Creo que el encabezado es 'Devel' en la configuración de Cygwin. El valor predeterminado no es instalar, cambiar a 'instalar'). HTH
Abordé esto en Eclipse haciendo lo siguiente:
- Haga clic derecho en el nombre del proyecto y elija "propiedades"
-
En "C / C ++ Build", elija "sección del constructor" y luego en el grupo "constructor", coloque lo siguiente en el cuadro de texto "build command":
Bash "_cygwin_home_ \ home \ android-ndk-r6b \ ndk-build"
- Reemplazar "_cygwin_home_" con su ruta real a cygwin,
- Coloco la carpeta ndk dentro de la carpeta de inicio en la carpeta de instalación de cygwin (como se puede ver).
Espero que esto te ayude.