Re: Gluegen apk won't install on Android 6 (Marshmallow)
Posted by
gouessej on
Mar 07, 2016; 10:43am
URL: https://forum.jogamp.org/Gluegen-apk-won-t-install-on-Android-6-Marshmallow-tp4036114p4036446.html
kjkrum wrote
- What are the JOGL equivalents of GLSurfaceView and GLSurfaceView.Renderer? (GLSurfaceView is the Android-managed view that holds the GL surface; Renderer is the callback that is called when the GL context is created and when each frame is rendered, among other things.)
com.jogamp.newt.opengl.GLWindow and com.jogamp.opengl.GLEventListener?
kjkrum wrote
- Is it possible to use JOGL without extending a particular Activity? (Early versions of some Google APIs used required extending activities, like MapActivity and PreferenceActivity, but this proved to be a very restrictive anti-pattern, and newer versions have moved away from it.)
I don't think that it's possible, you have to use jogamp.newt.driver.android.NewtBaseActivity. Maybe Sven can confirm.
kjkrum wrote
- What does a minimal JOGL "Hello, world!" look like? I mean something like an empty black screen rendered with OGL.
It's not that big:
https://github.com/sgothel/jogl/blob/master/src/test/com/jogamp/opengl/test/android/MovieCubeActivity0a.java
kjkrum wrote
- Why are there multiple native jars for each architecture? What's in them, and are all of them always required?
We need different native libraries to support different architectures. They aren't all required, it depends on what you use. If you don't use AWT (typically unsupported under Android), you can drop some stuff.
kjkrum wrote
- Why do some tutorials suggest that JOGL apps require other APKs to be installed alongside them? Can this be avoided?
Because it's the case but you can create a single APK containing JOGL, (JOAL, ) GlueGen and your own program.
kjkrum wrote
- Why does gluegen parse C headers instead of the Registry XML from which the C headers are derived? Was the XML not available when gluegen was originally created? Would gluegen benefit in any way from being converted to use the XML?
I'm not sure that those XML registers existed when GlueGen was created and anyway, JOGL is mostly a Java
binding, it calls the native OpenGL / OpenGL ES methods.
kjkrum wrote
- I noticed from reading the code that JOGL relies on global state. Global state is especially evil on Android because of the way the framework manages activities and other components. I also noticed some comments hinting at problems caused by this. Could this be avoided without breaking compatibility with other platforms that JOGL supports?
jmaasing is right, there is nothing that we can do. OpenGL itself relies on global states. We do our best.