Android JNI ¿Cuál es el directorio de trabajo actual para C / C ++ ejecutado código?

En Android si se invoca una biblioteca compartida C / C ++ creada utilizando NDK y carga un archivo cuál es su directorio de trabajo actual? Gracias

El directorio actual es "/", no el directorio de la aplicación:

#include <jni.h> #include <android/log.h> char cwd[1024]; if (getcwd(cwd, sizeof(cwd)) != NULL) __android_log_print(ANDROID_LOG_INFO, "", cwd); 

Para obtener el directorio de la aplicación, necesita usar llamadas JNI a código Java, que a su vez obtiene el directorio de aplicaciones de Android desde Contexto.

Negativo. El código nativo getcwd () devolverá '/', que no es el directorio de la aplicación. Para que los nativos sepan dónde está, deben pasar el directorio de la aplicación (obtenido del objeto Context) a nativo deliberadamente a través de un método nativo. O trate de llamar al método de Context con códigos nativos, que es demasiado complejo.

Tal vez la muestra de NDK en "android-ndk-rxx / samples / two-libs" le dará un mensaje útil.

  • Biblioteca binaria preconfigurada nativa en Android Studio con el complemento experimental de Gradle
  • Escriba a stdout en JNI Android? Sin <android / log.h>
  • ¿Cómo puedo crear una aplicación NDK con Android Studio 2.1 y com.android.tools.build:gradle:2.1.0?
  • Cómo utilizar bibliotecas extra * .so en Android Studio y NDK
  • Configuraciones de firma de Android y conflicto con splits abi
  • Cómo utilizar correctamente NDK-Build en Android Studio 2.2 Vista previa 1
  • Depuración del código Android NDK C / C ++ en Eclipse: los puntos de interrupción no se alcanzan
  • Acceso a datos sin procesar en ARGB_8888 Android Bitmap
  • Cómo obtener un algoritmo de Hashing de archivo rápido para archivos grandes en un dispositivo móvil
  • Android - javah no encuentra mi clase
  • NDK: cómo construir una lib, por lo que la aplicación puede trabajar en brazo (s), x86, etc?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.