GLSurfaceView wyświetlający kolor czarny na Nexusie 7 z Androidem 4.2

Mam aplikację OpenGL ES2.0, która działa na urządzeniach z różnymi wersjami Androida od 2.2 do 4.1. Jednak powiedziano mi, że podczas uruchamiania go na Nexusie 7 z Androidem 4.2 grafika 3D w aplikacji jest cała czarna. Pasek działania i okna dialogowe działają dobrze. Wypróbowałem go na emulowanym Nexusie 7 z procesorem Intel Atom, HAX i GPU z obsługą 4.2.2 i działa to poprawnie. Wolałbym uruchomić obraz ARM, ale wydaje się, że nie zawiera on Open GL ES2.0

Czy ktoś ma wgląd w to, co może powodować ten problem w Nexusie 7 i jak go obejść?

Jedną z możliwości jest to, że obecna wersja aplikacji ma docelowy poziom API ustawiony na 15, podczas gdy 4.2.2 to poziom 17. Czy to może być problem? Jednak działa poprawnie na emulatorze.

Poniżej znajduje się kod, którego używam do ustawiania tekstur w rendererze onSurfaceCreated () na wypadek, gdyby to była jakaś pomoc.

/**
 * Sets up texturing for the object
 */
private void setupTextures(String[] texFiles) {
    // create new texture ids if object has them
    // number of textures
    mTextureIDs = new int[texFiles.length];

    GLES20.glGenTextures(texFiles.length, mTextureIDs, 0);

    for(int i = 0; i < texFiles.length; i++) {
        GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, mTextureIDs[i]);

        // parameters
        GLES20.glTexParameterf(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MIN_FILTER,
                GLES20.GL_NEAREST);
        GLES20.glTexParameterf(GLES20.GL_TEXTURE_2D,
                GLES20.GL_TEXTURE_MAG_FILTER,
                GLES20.GL_LINEAR);

        GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_WRAP_S,
                GLES20.GL_REPEAT);
        GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_WRAP_T,
                GLES20.GL_REPEAT);

        int ID = mContext.getResources().getIdentifier( texFiles[i], "raw", "com.antonymsoft.slidixcube" );
        InputStream is = mContext.getResources().openRawResource(ID);
        Bitmap bitmap;
        try {
            bitmap = BitmapFactory.decodeStream(is);
        } finally {
            try {
                is.close();
            } catch(IOException e) {
                // Ignore.
            }
        }

        // create it 
        GLUtils.texImage2D(GLES20.GL_TEXTURE_2D, 0, bitmap, 0);
        bitmap.recycle();

    }
}

questionAnswers(1)

yourAnswerToTheQuestion