1diff --git a/packages/expo-gl/android/build.gradle b/packages/expo-gl/android/build.gradle
2index 32784fe8a6..bbbea44599 100644
3--- a/packages/expo-gl/android/build.gradle
4+++ b/packages/expo-gl/android/build.gradle
5@@ -21,6 +21,10 @@ file("$REACT_NATIVE_DIR/ReactAndroid/gradle.properties").withInputStream { react
6 def REACT_NATIVE_VERSION = System.getenv("REACT_NATIVE_OVERRIDE_VERSION") ?: reactProperties.getProperty("VERSION_NAME")
7 def REACT_NATIVE_TARGET_VERSION = REACT_NATIVE_VERSION.split("\\.")[1].toInteger()
8
9+REACT_NATIVE_DIR = "${rootDir}/versioned-react-native/packages/react-native"
10+REACT_NATIVE_BUILD_FROM_SOURCE = false
11+RN_SO_DIR = "${buildDir}/reactandroid-{VERSIONED_ABI_NAME}-*/jni"
12+
13 def reactNativeArchitectures() {
14     def value = project.getProperties().get("reactNativeArchitectures")
15     return value ? value.split(",") : ["armeabi-v7a", "x86", "x86_64", "arm64-v8a"]
16diff --git a/packages/expo-gl/android/src/main/cpp/EXGLJniApi.cpp b/packages/expo-gl/android/src/main/cpp/EXGLJniApi.cpp
17index f0f5f84821..0142daf4b1 100644
18--- a/packages/expo-gl/android/src/main/cpp/EXGLJniApi.cpp
19+++ b/packages/expo-gl/android/src/main/cpp/EXGLJniApi.cpp
20@@ -15,13 +15,13 @@ extern "C" {
21 thread_local JNIEnv* threadLocalEnv;
22
23 JNIEXPORT jint JNICALL
24-Java_expo_modules_gl_cpp_EXGL_EXGLContextCreate
25+Java_{VERSIONED_ABI_NAME_JNI_ESCAPED}_expo_modules_gl_cpp_EXGL_EXGLContextCreate
26 (JNIEnv *env, jclass clazz) {
27   return EXGLContextCreate();
28 }
29
30 JNIEXPORT void JNICALL
31-Java_expo_modules_gl_cpp_EXGL_EXGLContextPrepare
32+Java_{VERSIONED_ABI_NAME_JNI_ESCAPED}_expo_modules_gl_cpp_EXGL_EXGLContextPrepare
33 (JNIEnv *env, jclass clazz, jlong jsiPtr, jint exglCtxId, jobject glContext) {
34   threadLocalEnv = env;
35   jclass GLContextClass = env->GetObjectClass(glContext);
36@@ -35,56 +35,56 @@ Java_expo_modules_gl_cpp_EXGL_EXGLContextPrepare
37 }
38
39 JNIEXPORT void JNICALL
40-Java_expo_modules_gl_cpp_EXGL_EXGLContextPrepareWorklet
41+Java_{VERSIONED_ABI_NAME_JNI_ESCAPED}_expo_modules_gl_cpp_EXGL_EXGLContextPrepareWorklet
42 (JNIEnv *env, jclass clazz, jint exglCtxId) {
43   threadLocalEnv = env;
44   EXGLContextPrepareWorklet(exglCtxId);
45 }
46
47 JNIEXPORT void JNICALL
48-Java_expo_modules_gl_cpp_EXGL_EXGLContextDestroy
49+Java_{VERSIONED_ABI_NAME_JNI_ESCAPED}_expo_modules_gl_cpp_EXGL_EXGLContextDestroy
50 (JNIEnv *env, jclass clazz, jint exglCtxId) {
51   EXGLContextDestroy(exglCtxId);
52 }
53
54 JNIEXPORT void JNICALL
55-Java_expo_modules_gl_cpp_EXGL_EXGLContextFlush
56+Java_{VERSIONED_ABI_NAME_JNI_ESCAPED}_expo_modules_gl_cpp_EXGL_EXGLContextFlush
57 (JNIEnv *env, jclass clazz, jint exglCtxId) {
58   EXGLContextFlush(exglCtxId);
59 }
60
61 JNIEXPORT jint JNICALL
62-Java_expo_modules_gl_cpp_EXGL_EXGLContextCreateObject
63+Java_{VERSIONED_ABI_NAME_JNI_ESCAPED}_expo_modules_gl_cpp_EXGL_EXGLContextCreateObject
64 (JNIEnv *env, jclass clazz, jint exglCtxId) {
65   return EXGLContextCreateObject(exglCtxId);
66 }
67
68 JNIEXPORT void JNICALL
69-Java_expo_modules_gl_cpp_EXGL_EXGLContextDestroyObject
70+Java_{VERSIONED_ABI_NAME_JNI_ESCAPED}_expo_modules_gl_cpp_EXGL_EXGLContextDestroyObject
71 (JNIEnv *env, jclass clazz, jint exglCtxId, jint exglObjId) {
72   EXGLContextDestroyObject(exglCtxId, exglObjId);
73 }
74
75 JNIEXPORT void JNICALL
76-Java_expo_modules_gl_cpp_EXGL_EXGLContextMapObject
77+Java_{VERSIONED_ABI_NAME_JNI_ESCAPED}_expo_modules_gl_cpp_EXGL_EXGLContextMapObject
78 (JNIEnv *env, jclass clazz, jint exglCtxId, jint exglObjId, jint glObj) {
79   EXGLContextMapObject(exglCtxId, exglObjId, glObj);
80 }
81
82 JNIEXPORT jint JNICALL
83-Java_expo_modules_gl_cpp_EXGL_EXGLContextGetObject
84+Java_{VERSIONED_ABI_NAME_JNI_ESCAPED}_expo_modules_gl_cpp_EXGL_EXGLContextGetObject
85 (JNIEnv *env, jclass clazz, jint exglCtxId, jint exglObjId) {
86   return EXGLContextGetObject(exglCtxId, exglObjId);
87 }
88
89 JNIEXPORT bool JNICALL
90-Java_expo_modules_gl_cpp_EXGL_EXGLContextNeedsRedraw
91+Java_{VERSIONED_ABI_NAME_JNI_ESCAPED}_expo_modules_gl_cpp_EXGL_EXGLContextNeedsRedraw
92 (JNIEnv *env, jclass clazz, jint exglCtxId) {
93   return EXGLContextNeedsRedraw(exglCtxId);
94 }
95
96 JNIEXPORT void JNICALL
97-Java_expo_modules_gl_cpp_EXGL_EXGLContextDrawEnded
98+Java_{VERSIONED_ABI_NAME_JNI_ESCAPED}_expo_modules_gl_cpp_EXGL_EXGLContextDrawEnded
99 (JNIEnv *env, jclass clazz, jint exglCtxId) {
100   EXGLContextDrawEnded(exglCtxId);
101 }
102