1--- android/CMakeLists.txt 2+++ android/CMakeLists.txt 3@@ -47,17 +47,17 @@ 4 "${PROJECT_SOURCE_DIR}/cpp/rnskia-android/RNSkOpenGLCanvasProvider.cpp" 5 "${PROJECT_SOURCE_DIR}/cpp/rnskia-android/SkiaOpenGLRenderer.cpp" 6 7- "${PROJECT_SOURCE_DIR}/cpp/jsi/JsiHostObject.cpp" 8- "${PROJECT_SOURCE_DIR}/cpp/jsi/JsiValue.cpp" 9+ "${PROJECT_SOURCE_DIR}/../cpp/jsi/JsiHostObject.cpp" 10+ "${PROJECT_SOURCE_DIR}/../cpp/jsi/JsiValue.cpp" 11 12- "${PROJECT_SOURCE_DIR}/cpp/rnskia/RNSkManager.cpp" 13- "${PROJECT_SOURCE_DIR}/cpp/rnskia/RNSkJsView.cpp" 14- "${PROJECT_SOURCE_DIR}/cpp/rnskia/RNSkDomView.cpp" 15- "${PROJECT_SOURCE_DIR}/cpp/rnskia/RNSkDispatchQueue.cpp" 16+ "${PROJECT_SOURCE_DIR}/../cpp/rnskia/RNSkManager.cpp" 17+ "${PROJECT_SOURCE_DIR}/../cpp/rnskia/RNSkJsView.cpp" 18+ "${PROJECT_SOURCE_DIR}/../cpp/rnskia/RNSkDomView.cpp" 19+ "${PROJECT_SOURCE_DIR}/../cpp/rnskia/RNSkDispatchQueue.cpp" 20 21- "${PROJECT_SOURCE_DIR}/cpp/rnskia/dom/base/DrawingContext.cpp" 22+ "${PROJECT_SOURCE_DIR}/../cpp/rnskia/dom/base/DrawingContext.cpp" 23 24- "${PROJECT_SOURCE_DIR}/cpp/api/third_party/CSSColorParser.cpp" 25+ "${PROJECT_SOURCE_DIR}/../cpp/api/third_party/CSSColorParser.cpp" 26 27 ) 28 29@@ -71,33 +71,33 @@ 30 "${NODE_MODULES_DIR}/react-native/ReactCommon/react/nativemodule/core" 31 "${NODE_MODULES_DIR}/react-native/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni" 32 33- cpp/skia/include/config/ 34- cpp/skia/include/core/ 35- cpp/skia/include/effects/ 36- cpp/skia/include/utils/ 37- cpp/skia/include/pathops/ 38- cpp/skia/modules/ 39+ ${PROJECT_SOURCE_DIR}/../cpp/skia/include/config/ 40+ ${PROJECT_SOURCE_DIR}/../cpp/skia/include/core/ 41+ ${PROJECT_SOURCE_DIR}/../cpp/skia/include/effects/ 42+ ${PROJECT_SOURCE_DIR}/../cpp/skia/include/utils/ 43+ ${PROJECT_SOURCE_DIR}/../cpp/skia/include/pathops/ 44+ ${PROJECT_SOURCE_DIR}/../cpp/skia/modules/ 45 #cpp/skia/modules/skparagraph/include/ 46- cpp/skia/include/ 47- cpp/skia 48+ ${PROJECT_SOURCE_DIR}/../cpp/skia/include/ 49+ ${PROJECT_SOURCE_DIR}/../cpp/skia 50 51- cpp/api 52- cpp/jsi 53- cpp/jni/include 54- cpp/rnskia-android 55- cpp/rnskia 56- cpp/rnskia/values 57- cpp/rnskia/dom 58- cpp/rnskia/dom/base 59- cpp/rnskia/dom/nodes 60- cpp/rnskia/dom/props 61- cpp/utils 62+ ${PROJECT_SOURCE_DIR}/../cpp/api 63+ ${PROJECT_SOURCE_DIR}/../cpp/jsi 64+ ${PROJECT_SOURCE_DIR}/cpp/jni/include 65+ ${PROJECT_SOURCE_DIR}/cpp/rnskia-android 66+ ${PROJECT_SOURCE_DIR}/../cpp/rnskia 67+ ${PROJECT_SOURCE_DIR}/../cpp/rnskia/values 68+ ${PROJECT_SOURCE_DIR}/../cpp/rnskia/dom 69+ ${PROJECT_SOURCE_DIR}/../cpp/rnskia/dom/base 70+ ${PROJECT_SOURCE_DIR}/../cpp/rnskia/dom/nodes 71+ ${PROJECT_SOURCE_DIR}/../cpp/rnskia/dom/props 72+ ${PROJECT_SOURCE_DIR}/../cpp/utils 73 74 ${libfbjni_include_DIRS} 75 ) 76 77 # Import prebuilt SKIA libraries 78-set (SKIA_LIBS_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../libs/android/${ANDROID_ABI}") 79+set (SKIA_LIBS_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../../../common/libs/${ANDROID_ABI}") 80 81 add_library(skia STATIC IMPORTED) 82 set_property(TARGET skia PROPERTY IMPORTED_LOCATION "${SKIA_LIBS_PATH}/libskia.a") 83@@ -204,4 +204,4 @@ 84 -lGLESv2 85 -lEGL 86 -landroid 87- ) 88\ No newline at end of file 89+ ) 90--- android/build.gradle 91+++ android/build.gradle 92@@ -43,7 +43,7 @@ 93 throw new GradleException("React-Native-Skia: Failed to find node_modules/ path!") 94 } 95 96-def nodeModules = findNodeModules(projectDir) 97+def nodeModules = Paths.get(projectDir.getPath(), '../../../../../..', 'react-native-lab/react-native/packages').toString() 98 logger.warn("react-native-skia: node_modules/ found at: ${nodeModules}") 99 100 def sourceBuild = false 101@@ -51,9 +51,9 @@ def defaultDir 102 103 if (rootProject.ext.has('reactNativeAndroidRoot')) { 104 defaultDir = rootProject.ext.get('reactNativeAndroidRoot') 105-} else if (findProject(':ReactAndroid') != null) { 106+} else if (findProject(':packages:react-native:ReactAndroid') != null) { 107 sourceBuild = true 108- defaultDir = project(':ReactAndroid').projectDir 109+ defaultDir = project(':packages:react-native:ReactAndroid').projectDir 110 } else { 111 defaultDir = file("$nodeModules/react-native") 112 } 113@@ -76,6 +76,11 @@ 114 buildType = "debug" 115 } 116 117+def reactNativeArchitectures() { 118+ def value = project.getProperties().get("reactNativeArchitectures") 119+ return value ? value.split(",") : ["armeabi-v7a", "x86", "x86_64", "arm64-v8a"] 120+} 121+ 122 def reactProperties = new Properties() 123 file("$nodeModules/react-native/ReactAndroid/gradle.properties").withInputStream { reactProperties.load(it) } 124 def FULL_RN_VERSION = (System.getenv("REACT_NATIVE_OVERRIDE_VERSION") ?: reactProperties.getProperty("VERSION_NAME")) 125@@ -117,7 +122,7 @@ 126 externalNativeBuild { 127 cmake { 128 cppFlags "-fexceptions", "-frtti", "-std=c++1y", "-DONANDROID" 129- abiFilters 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a' 130+ abiFilters (*reactNativeArchitectures()) 131 arguments '-DANDROID_STL=c++_shared', 132 "-DREACT_NATIVE_VERSION=${REACT_NATIVE_VERSION}", 133 "-DNODE_MODULES_DIR=${nodeModules}", 134@@ -267,4 +272,4 @@ 135 afterEvaluate { 136 nativeBuildDependsOn(extractAARHeaders, null) 137 nativeBuildDependsOn(extractJNIFiles, null) 138-} 139\ No newline at end of file 140+} 141