1diff --git a/packages/expo-av/android/CMakeLists.txt b/packages/expo-av/android/CMakeLists.txt
2index fe625b6347..bafd146556 100644
3--- a/packages/expo-av/android/CMakeLists.txt
4+++ b/packages/expo-av/android/CMakeLists.txt
5@@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.4.1)
6 set (CMAKE_VERBOSE_MAKEFILE ON)
7 set (CMAKE_CXX_STANDARD 14)
8
9-set (PACKAGE_NAME "expo-av")
10+set (PACKAGE_NAME "expo-av_{VERSIONED_ABI_NAME}")
11 set (BUILD_DIR ${CMAKE_SOURCE_DIR}/build)
12
13 # shared
14@@ -54,14 +54,14 @@ find_library(
15
16 find_library(
17         JSI_LIB
18-        jsi
19+        jsi_{VERSIONED_ABI_NAME}
20         PATHS ${LIBRN_DIR}
21         NO_CMAKE_FIND_ROOT_PATH
22 )
23
24 find_library(
25         REACT_NATIVE_JNI_LIB
26-        reactnativejni
27+        reactnativejni_{VERSIONED_ABI_NAME}
28         PATHS ${LIBRN_DIR}
29         NO_CMAKE_FIND_ROOT_PATH
30 )
31diff --git a/packages/expo-av/android/build.gradle b/packages/expo-av/android/build.gradle
32index fafe099214..cae6d92e3e 100644
33--- a/packages/expo-av/android/build.gradle
34+++ b/packages/expo-av/android/build.gradle
35@@ -13,6 +13,10 @@ def RN_SO_DIR = RN_BUILD_FROM_SOURCE
36     ? Paths.get(findProject(":ReactAndroid").getProjectDir().toString(), "build", "intermediates", "library_*", "*", "jni")
37     : "${buildDir}/react-native-0*/jni"
38 def RN_AAR_DIR = "${REACT_NATIVE_DIR}/android"
39+REACT_NATIVE_DIR = "${rootDir}/versioned-react-native"
40+RN_BUILD_FROM_SOURCE = false
41+RN_SO_DIR = "${buildDir}/reactandroid-{VERSIONED_ABI_NAME}-*/jni"
42+RN_AAR_DIR = "${rootDir}/versioned-abis/expoview-{VERSIONED_ABI_NAME}/maven"
43 def reactNativeArchitectures() {
44     def value = project.getProperties().get("reactNativeArchitectures")
45     return value ? value.split(",") : ["armeabi-v7a", "x86", "x86_64", "arm64-v8a"]
46@@ -165,7 +169,7 @@ dependencies {
47
48 def extractReactNativeAAR = { buildType ->
49   def suffix = buildType == 'Debug' ? '-debug' : '-release'
50-  def rnAARs = fileTree(RN_AAR_DIR).matching { include "**/react-native/**/*${suffix}.aar" }
51+  def rnAARs = fileTree(RN_AAR_DIR).matching { include "**/*.aar" }
52   if (rnAARs.isEmpty()) {
53     rnAARs = fileTree(RN_AAR_DIR).matching { include "**/react-native/**/*.aar" }
54   }
55diff --git a/packages/expo-av/android/src/main/cpp/JAVManager.h b/packages/expo-av/android/src/main/cpp/JAVManager.h
56index 6107c0ab93..f61328b2ca 100644
57--- a/packages/expo-av/android/src/main/cpp/JAVManager.h
58+++ b/packages/expo-av/android/src/main/cpp/JAVManager.h
59@@ -20,7 +20,7 @@ namespace expo {
60
61     class JAVManager : public jni::HybridClass<JAVManager> {
62     public:
63-      static auto constexpr kJavaDescriptor = "Lexpo/modules/av/AVManager;";
64+      static auto constexpr kJavaDescriptor = "L{VERSIONED_ABI_NAME}/expo/modules/av/AVManager;";
65       static auto constexpr TAG = "JAVManager";
66
67       static jni::local_ref<jhybriddata> initHybrid(jni::alias_ref<jhybridobject> jThis);
68diff --git a/packages/expo-av/android/src/main/cpp/JPlayerData.h b/packages/expo-av/android/src/main/cpp/JPlayerData.h
69index e51a5bed4f..8a2d318775 100644
70--- a/packages/expo-av/android/src/main/cpp/JPlayerData.h
71+++ b/packages/expo-av/android/src/main/cpp/JPlayerData.h
72@@ -16,7 +16,7 @@ namespace expo {
73
74     class JPlayerData : public jni::HybridClass<JPlayerData> {
75     public:
76-      static auto constexpr kJavaDescriptor = "Lexpo/modules/av/player/PlayerData;";
77+      static auto constexpr kJavaDescriptor = "L{VERSIONED_ABI_NAME}/expo/modules/av/player/PlayerData;";
78       static auto constexpr TAG = "JPlayerData";
79
80       static jni::local_ref<jhybriddata> initHybrid(jni::alias_ref<jhybridobject> jThis);
81