I have no idea if that's any help, but I poked around in the .apk with dex2jar and jd-gui and don't really get why OpenGL ES 2.0 should be necessary. The only place I found references to 2.0 was in /com/instagram/android/gl/GLHelper and there we have:
Code:
int i = GLES20.glGetError();
GLES20.glBindTexture(3553, i);
GLES20.glTexParameterf(3553, 10241, 9729.0F);
GLES20.glTexParameterf(3553, 10240, 9729.0F);
GLES20.glTexParameteri(3553, 10242, 33071);
GLES20.glTexParameteri(3553, 10243, 33071);
GLES20.glTexParameterf(3553, 10241, 9729.0F);
GLES20.glTexParameterf(3553, 10240, 9729.0F);
The method signatures for these are (according to developer.android.com/reference/android/opengl/GLES20.html):
Code:
public static int glGetError ()
public static void glBindTexture (int target, int texture)
public static void glTexParameterf (int target, int pname, float param)
public static void glTexParameteri (int target, int pname, int param)
Compared to the GLES10 signatures (developer.android.com/reference/android/opengl/GLES10.html) there's no difference:
Code:
public static int glGetError ()
public static void glBindTexture (int target, int texture)
public static void glTexParameterf (int target, int pname, float param)
they seem the same, except for the missing glTexParameteri, but there's a:
Code:
public static void glTexParameterx (int target, int pname, int param)
and in GLES11 (developer.android.com/reference/android/opengl/GLES11.html) we would also have glTexParameteri:
Code:
public static void glTexParameteri (int target, int pname, int param)
I tried to modify the .apk, swapping GLES20 to GLES11, like described on code.google.com/p/dex2jar/wiki/ModifyApkWithDexTool but I got errors on the verification (even before modyfing) and I don't have much experience with android development, but maybe someone else could give it a shot.
I have no clue if that could work anyway, but if it doesn't really need GLES20 and just crashes because it tries to call things that aren't there, why wouldn't it?