OpenGL and JNI problems on Android


Hi All,

I have a strange problem when compiling my app in Android. I use the following configuration to compile the app:

SDK version: 26
Gradle version: 4.10.1
Android plug-in version: 3.3.0
Android build tools version: 28.0.3
CMake version: 3.6.4111459

and this is the compiling error I get:

In file included from /Applications/JUCE/modules/juce_opengl/juce_opengl.h:111:
In file included from /Users/SI/android-ndk-r17c/sysroot/usr/include/android/native_window_jni.h:33:
/Users/SI/android-ndk-r17c/sysroot/usr/include/jni.h:621:5: error: no member named ‘Callz_ByteMethodV’ in ‘JNINativeInterface’; did you mean ‘CallByteMethodV’?
CALL_TYPE(jbyte, Byte)
/Users/SI/android-ndk-r17c/sysroot/usr/include/jni.h:615:5: note: expanded from macro ‘CALL_TYPE’
CALL_TYPE_METHOD(_jtype, _jname)
/Users/SI/android-ndk-r17c/sysroot/usr/include/jni.h:600:29: note: expanded from macro ‘CALL_TYPE_METHOD’
result = functions->Call##_jname##MethodV(this, obj, methodID,
:63:1: note: expanded from here

I don’t understand where the problem could be, since the jni.h file seems ok.

Hope for an help.


I solved the problem by myself. The issue was related to the use of a third-party zlib library that defined type Byte used by jni.h. I just forgot that JUCE contains an implementation of that library, so I get rid of the third-party one. Sorry.