// ifelse does not look that good. lets keep two sets of signatures.. #if JNIEnv // JVM load the .so and calls this native function public static jstring stringFromJNI(JNIEnv env, jobject thiz) { // called by // X:\jsc.svn\examples\java\android\synergy\OVRVrCubeWorldSurfaceView\OVRVrCubeWorldSurfaceViewX\ApplicationActivity.cs // jstring Java_com_oculus_gles3jni_GLES3JNILib_stringFromJNI(JNIEnv* env, jobject thiz) // X:\jsc.svn\examples\c\Test\TestNamespaceFixup\TestNamespaceFixup\Class1.cs // https://sites.google.com/a/jsc-solutions.net/work/knowledge-base/15-dualvr/20150607-1/vrcubeworld // https://sites.google.com/a/jsc-solutions.net/backlog/knowledge-base/2015/201505/20150525 // look almost the same file! // OVR_VRAPI_EXPORT const char * vrapi_GetVersionString(); // if we change our NDK code, will nuget packaing work on the background, and also upgrade running apps? var v = env.NewStringUTF(env, //"hey! XNDK!" VrApi.vrapi_GetVersionString() ); //v = env.JNIEnv_NewStringUTF(VrApi.vrapi_GetVersionString()); // the other option is to have a debugger send the updated MSIL via edit and continue, and we would have to patch the function on the fly. return v; }