You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm encountering persistent CMake errors when trying to build my React Native 0.78.0 Android app (npx react-native start + a ). The errors consistently point to missing jni directories within several packages, specifically u/react-native-async-storage/async-storage, react-native-gesture-handler, and react-native-reanimated.
The error message is: add_subdirectory given source "..." which is not an existing directory.
Here's what I've tried so far:
Checked NDK and CMake installations (versions seem correct).
Cleaned Gradle and rebuilt the project.
Invalidated Android Studio caches.
Inspected the CMake output log (no immediate errors related to compiler/linker).
Verified that the React Native version is 0.78.0, and understand the react 19 dependancy changes.
Inspected the autolinking files, and confirmed that the paths are incorrect.
Confirmed that some of the packages should contain jni folders, and some packages may not.
The problem seems to be related to the autolinking process and the presence/absence of jni directories in these dependencies. I'm struggling to pinpoint the exact cause.
Ensure these packages are included in your package.json dependencies:
@react-native-async-storage/async-storage
react-native-gesture-handler
react-native-reanimated
Attempt an Android Build:
npx react-native run-android
Observe the Error:
The build will fail with CMake errors, specifically:
add_subdirectory given source "..." which is not an existing directory.
Errors related to missing jni directories within @react-native-async-storage/async-storage, react-native-gesture-handler, and react-native-reanimated.
Inspection of the following file:
Inspect android/app/build/generated/autolinking/src/main/jni/Android-autolinking.cmake and observe that the paths to the jni folders are incorrect.
Inspection of the node_modules:
Inspect the node_modules folder, and observe that some of the folders that the autolinking file is looking for, do not exist.
Additional Tips:
Provide package.json: Include a snippet of your package.json file, especially the dependencies section, so others can see the exact versions of your packages.
Specify Target Device/Emulator: If the problem is specific to a particular device or emulator, mention that.
Clear and Concise: Keep the steps as straightforward as possible.
Formatting: Use code blocks (```) to format commands and code snippets for readability.
By providing these detailed steps, you'll make it much easier for people to understand and reproduce your issue, increasing your chances of getting helpful responses.
React Native Version
0.78.0
Affected Platforms
Build - Windows, Runtime - Android
Output of npx @react-native-community/cli info
info Fetching system and libraries information...
System:
OS: Windows 11 10.0.26100
CPU: (12) x64 Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz
Memory: 5.29 GB / 15.91 GB
Binaries:
Node:
version: 20.18.3
path: C:\Program Files\nodejs\node.EXE
Yarn:
version: 1.22.19
path: ~\AppData\Roaming\npm\yarn.CMD
npm:
version: 10.2.1
path: C:\Program Files\nodejs\npm.CMD
Watchman: Not Found
SDKs:
Android SDK:
API Levels:
- "33"
- "35"
Build Tools:
- 30.0.3
- 33.0.0
- 33.0.2
- 34.0.0
- 34.0.0
- 34.0.0
- 34.0.0
- 35.0.0
- 35.0.0
- 35.0.0
- 35.0.0
- 35.0.0
- 36.0.0
System Images:
- android-35 | Google Play Intel x86_64 Atom
Android NDK: Not Found
Windows SDK:
AllowAllTrustedApps: Disabled
IDEs:
Android Studio: AI-242.23726.103.2422.13103373
Visual Studio: Not Found
Languages:
Java: 17.0.12
Ruby: Not Found
npmPackages:
"@react-native-community/cli":
installed: 11.4.1
wanted: ^11.0.0
react:
installed: 19.0.0
wanted: ^19.0.0
react-native:
installed: 0.78.0
wanted: 0.78.0
react-native-windows: Not Found
npmGlobalPackages:
"*react-native*": Not Found
Android:
hermesEnabled: true
newArchEnabled: true
iOS:
hermesEnabled: Not found
newArchEnabled: Not found
Stacktrace or Logs
info Starting JS server...
info Installing the app...
> Configure project :react-native-firebase_app
:react-native-firebase_app package.json found at C:\Users\pople\Desktop\Dopameter3\Dopameter\node_modules\@react-native-firebase\app\package.json
:react-native-firebase_app:firebase.bom using default value: 33.9.0
:react-native-firebase_app:play.play-services-auth using default value: 21.3.0
:react-native-firebase_app package.json found at C:\Users\pople\Desktop\Dopameter3\Dopameter\node_modules\@react-native-firebase\app\package.json
:react-native-firebase_app:version set from package.json: 21.12.0 (21,12,0 - 21012000)
:react-native-firebase_app:android.compileSdk using custom value: 35
:react-native-firebase_app:android.targetSdk using custom value: 35
:react-native-firebase_app:android.minSdk using custom value: 24
:react-native-firebase_app:reactNativeAndroidDir C:\Users\pople\Desktop\Dopameter3\Dopameter\node_modules\react-native\android
> Configure project :react-native-firebase_auth
:react-native-firebase_auth package.json found at C:\Users\pople\Desktop\Dopameter3\Dopameter\node_modules\@react-native-firebase\auth\package.json
:react-native-firebase_app package.json found at C:\Users\pople\Desktop\Dopameter3\Dopameter\node_modules\@react-native-firebase\app\package.json
:react-native-firebase_auth:firebase.bom using default value: 33.9.0
:react-native-firebase_auth package.json found at C:\Users\pople\Desktop\Dopameter3\Dopameter\node_modules\@react-native-firebase\auth\package.json
:react-native-firebase_auth:version set from package.json: 21.12.0 (21,12,0 - 21012000)
:react-native-firebase_auth:android.compileSdk using custom value: 35
:react-native-firebase_auth:android.targetSdk using custom value: 35
:react-native-firebase_auth:android.minSdk using custom value: 24
:react-native-firebase_auth:reactNativeAndroidDir C:\Users\pople\Desktop\Dopameter3\Dopameter\node_modules\react-native\android
> Configure project :react-native-firebase_firestore
:react-native-firebase_firestore package.json found at C:\Users\pople\Desktop\Dopameter3\Dopameter\node_modules\@react-native-firebase\firestore\package.json
:react-native-firebase_app package.json found at C:\Users\pople\Desktop\Dopameter3\Dopameter\node_modules\@react-native-firebase\app\package.json
:react-native-firebase_firestore:firebase.bom using default value: 33.9.0
:react-native-firebase_firestore package.json found at C:\Users\pople\Desktop\Dopameter3\Dopameter\node_modules\@react-native-firebase\firestore\package.json
:react-native-firebase_firestore:version set from package.json: 21.12.0 (21,12,0 - 21012000)
:react-native-firebase_firestore:android.compileSdk using custom value: 35
:react-native-firebase_firestore:android.targetSdk using custom value: 35
:react-native-firebase_firestore:android.minSdk using custom value: 24
:react-native-firebase_firestore:reactNativeAndroidDir C:\Users\pople\Desktop\Dopameter3\Dopameter\node_modules\react-native\android
> Configure project :react-native-reanimated
No AAR for react-native-reanimated found. Attempting to build from source.
Android gradle plugin: 8.8.0
Gradle: 8.12
> Task :app:configureCMakeDebug[arm64-v8a] FAILED
C/C++: CMake Error at C:/Users/pople/Desktop/Dopameter3/Dopameter/android/app/build/generated/autolinking/src/main/jni/Android-autolinking.cmake:9 (add_subdirectory):
C/C++: add_subdirectory given source
C/C++: "C:/Users/pople/Desktop/Dopameter3/Dopameter/node_modules/@react-native-async-storage/async-storage/android/build/generated/source/codegen/jni/"
C/C++: which is not an existing directory.
C/C++: Call Stack (most recent call first):
C/C++: C:/Users/pople/Desktop/Dopameter3/Dopameter/node_modules/react-native/ReactAndroid/cmake-utils/ReactNative-application.cmake:100 (include)
C/C++: CMakeLists.txt:31 (include)
C/C++: CMake Error at C:/Users/pople/Desktop/Dopameter3/Dopameter/android/app/build/generated/autolinking/src/main/jni/Android-autolinking.cmake:13 (add_subdirectory):
C/C++: add_subdirectory given source
C/C++: "C:/Users/pople/Desktop/Dopameter3/Dopameter/node_modules/react-native-gesture-handler/android/build/generated/source/codegen/jni/"
C/C++: which is not an existing directory.
C/C++: Call Stack (most recent call first):
C/C++: C:/Users/pople/Desktop/Dopameter3/Dopameter/node_modules/react-native/ReactAndroid/cmake-utils/ReactNative-application.cmake:100 (include)
C/C++: CMakeLists.txt:31 (include)
C/C++: CMake Error at C:/Users/pople/Desktop/Dopameter3/Dopameter/node_modules/react-native/ReactAndroid/cmake-utils/ReactNative-application.cmake:103 (target_link_libraries):
C/C++: Cannot specify link libraries for target "react_codegen_rnasyncstorage"
C/C++: which is not built by this project.
C/C++: Call Stack (most recent call first):
C/C++: CMakeLists.txt:31 (include)
[Incubating] Problems report is available at: file:///C:/Users/pople/Desktop/Dopameter3/Dopameter/android/build/reports/problems/problems-report.html
Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.
You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
For more on this, please refer to https://docs.gradle.org/8.12/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.
35 actionable tasks: 25 executed, 10 up-to-date
info 💡 Tip: Make sure that you have set up your development environment correctly, by running react-native doctor. To read more about doctor command visit: https://github.com/react-native-community/cli/blob/main/packages/cli-doctor/README.md#doctor
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:configureCMakeDebug[arm64-v8a]'.
> [CXX1429] error when building with cmake using C:\Users\pople\Desktop\Dopameter3\Dopameter\node_modules\react-native\ReactAndroid\cmake-utils\default-app-setup\CMakeLists.txt: -- The C compiler identification is Clang 18.0.1
-- The CXX compiler identification is Clang 18.0.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Users/pople/AppData/Local/Android/Sdk/ndk/27.0.12077973/toolchains/llvm/prebuilt/windows-x86_64/bin/clang.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Users/pople/AppData/Local/Android/Sdk/ndk/27.0.12077973/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring incomplete, errors occurred!
See also "C:/Users/pople/Desktop/Dopameter3/Dopameter/android/app/.cxx/Debug/3s2k2s1k/arm64-v8a/CMakeFiles/CMakeOutput.log".
C++ build system [configure] failed while executing:
@echo off
"C:\\Users\\pople\\AppData\\Local\\Android\\Sdk\\cmake\\3.22.1\\bin\\cmake.exe" ^
"-HC:\\Users\\pople\\Desktop\\Dopameter3\\Dopameter\\node_modules\\react-native\\ReactAndroid\\cmake-utils\\default-app-setup" ^
"-DCMAKE_SYSTEM_NAME=Android" ^
"-DCMAKE_EXPORT_COMPILE_COMMANDS=ON" ^
"-DCMAKE_SYSTEM_VERSION=24" ^
"-DANDROID_PLATFORM=android-24" ^
"-DANDROID_ABI=arm64-v8a" ^
"-DCMAKE_ANDROID_ARCH_ABI=arm64-v8a" ^
"-DANDROID_NDK=C:\\Users\\pople\\AppData\\Local\\Android\\Sdk\\ndk\\27.0.12077973" ^
"-DCMAKE_ANDROID_NDK=C:\\Users\\pople\\AppData\\Local\\Android\\Sdk\\ndk\\27.0.12077973" ^
"-DCMAKE_TOOLCHAIN_FILE=C:\\Users\\pople\\AppData\\Local\\Android\\Sdk\\ndk\\27.0.12077973\\build\\cmake\\android.toolchain.cmake" ^
"-DCMAKE_MAKE_PROGRAM=C:\\Users\\pople\\AppData\\Local\\Android\\Sdk\\cmake\\3.22.1\\bin\\ninja.exe" ^
"-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=C:\\Users\\pople\\Desktop\\Dopameter3\\Dopameter\\android\\app\\build\\intermediates\\cxx\\Debug\\3s2k2s1k\\obj\\arm64-v8a" ^
"-DCMAKE_RUNTIME_OUTPUT_DIRECTORY=C:\\Users\\pople\\Desktop\\Dopameter3\\Dopameter\\android\\app\\build\\intermediates\\cxx\\Debug\\3s2k2s1k\\obj\\arm64-v8a" ^
"-DCMAKE_BUILD_TYPE=Debug" ^
"-DCMAKE_FIND_ROOT_PATH=C:\\Users\\pople\\Desktop\\Dopameter3\\Dopameter\\android\\app\\.cxx\\Debug\\3s2k2s1k\\prefab\\arm64-v8a\\prefab" ^
"-BC:\\Users\\pople\\Desktop\\Dopameter3\\Dopameter\\android\\app\\.cxx\\Debug\\3s2k2s1k\\arm64-v8a" ^
-GNinja ^
"-DPROJECT_BUILD_DIR=C:\\Users\\pople\\Desktop\\Dopameter3\\Dopameter\\android\\app\\build" ^
"-DPROJECT_ROOT_DIR=C:\\Users\\pople\\Desktop\\Dopameter3\\Dopameter\\android" ^
"-DREACT_ANDROID_DIR=C:\\Users\\pople\\Desktop\\Dopameter3\\Dopameter\\node_modules\\react-native\\ReactAndroid" ^
"-DANDROID_STL=c++_shared" ^
"-DANDROID_SUPPORT_FLEXIBLE_PAGE_SIZES=ON"
from C:\Users\pople\Desktop\Dopameter3\Dopameter\android\app
CMake Error at C:/Users/pople/Desktop/Dopameter3/Dopameter/android/app/build/generated/autolinking/src/main/jni/Android-autolinking.cmake:9 (add_subdirectory):
add_subdirectory given source
"C:/Users/pople/Desktop/Dopameter3/Dopameter/node_modules/@react-native-async-storage/async-storage/android/build/generated/source/codegen/jni/"
which is not an existing directory.
Call Stack (most recent call first):
C:/Users/pople/Desktop/Dopameter3/Dopameter/node_modules/react-native/ReactAndroid/cmake-utils/ReactNative-application.cmake:100 (include)
CMakeLists.txt:31 (include)
CMake Error at C:/Users/pople/Desktop/Dopameter3/Dopameter/android/app/build/generated/autolinking/src/main/jni/Android-autolinking.cmake:13 (add_subdirectory):
add_subdirectory given source
"C:/Users/pople/Desktop/Dopameter3/Dopameter/node_modules/react-native-gesture-handler/android/build/generated/source/codegen/jni/"
which is not an existing directory.
Call Stack (most recent call first):
C:/Users/pople/Desktop/Dopameter3/Dopameter/node_modules/react-native/ReactAndroid/cmake-utils/ReactNative-application.cmake:100 (include)
CMakeLists.txt:31 (include)
CMake Error at C:/Users/pople/Desktop/Dopameter3/Dopameter/node_modules/react-native/ReactAndroid/cmake-utils/ReactNative-application.cmake:103 (target_link_libraries):
Cannot specify link libraries for target "react_codegen_rnasyncstorage"
which is not built by this project.
Call Stack (most recent call first):
CMakeLists.txt:31 (include) : com.android.ide.common.process.ProcessException: -- The C compiler identification is Clang 18.0.1
-- The CXX compiler identification is Clang 18.0.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Users/pople/AppData/Local/Android/Sdk/ndk/27.0.12077973/toolchains/llvm/prebuilt/windows-x86_64/bin/clang.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Users/pople/AppData/Local/Android/Sdk/ndk/27.0.12077973/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring incomplete, errors occurred!
See also "C:/Users/pople/Desktop/Dopameter3/Dopameter/android/app/.cxx/Debug/3s2k2s1k/arm64-v8a/CMakeFiles/CMakeOutput.log".
C++ build system [configure] failed while executing:
@echo off
"C:\\Users\\pople\\AppData\\Local\\Android\\Sdk\\cmake\\3.22.1\\bin\\cmake.exe" ^
"-HC:\\Users\\pople\\Desktop\\Dopameter3\\Dopameter\\node_modules\\react-native\\ReactAndroid\\cmake-utils\\default-app-setup" ^
"-DCMAKE_SYSTEM_NAME=Android" ^
"-DCMAKE_EXPORT_COMPILE_COMMANDS=ON" ^
"-DCMAKE_SYSTEM_VERSION=24" ^
"-DANDROID_PLATFORM=android-24" ^
"-DANDROID_ABI=arm64-v8a" ^
"-DCMAKE_ANDROID_ARCH_ABI=arm64-v8a" ^
"-DANDROID_NDK=C:\\Users\\pople\\AppData\\Local\\Android\\Sdk\\ndk\\27.0.12077973" ^
"-DCMAKE_ANDROID_NDK=C:\\Users\\pople\\AppData\\Local\\Android\\Sdk\\ndk\\27.0.12077973" ^
"-DCMAKE_TOOLCHAIN_FILE=C:\\Users\\pople\\AppData\\Local\\Android\\Sdk\\ndk\\27.0.12077973\\build\\cmake\\android.toolchain.cmake" ^
"-DCMAKE_MAKE_PROGRAM=C:\\Users\\pople\\AppData\\Local\\Android\\Sdk\\cmake\\3.22.1\\bin\\ninja.exe" ^
"-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=C:\\Users\\pople\\Desktop\\Dopameter3\\Dopameter\\android\\app\\build\\intermediates\\cxx\\Debug\\3s2k2s1k\\obj\\arm64-v8a" ^
"-DCMAKE_RUNTIME_OUTPUT_DIRECTORY=C:\\Users\\pople\\Desktop\\Dopameter3\\Dopameter\\android\\app\\build\\intermediates\\cxx\\Debug\\3s2k2s1k\\obj\\arm64-v8a" ^
"-DCMAKE_BUILD_TYPE=Debug" ^
"-DCMAKE_FIND_ROOT_PATH=C:\\Users\\pople\\Desktop\\Dopameter3\\Dopameter\\android\\app\\.cxx\\Debug\\3s2k2s1k\\prefab\\arm64-v8a\\prefab" ^
"-BC:\\Users\\pople\\Desktop\\Dopameter3\\Dopameter\\android\\app\\.cxx\\Debug\\3s2k2s1k\\arm64-v8a" ^
-GNinja ^
"-DPROJECT_BUILD_DIR=C:\\Users\\pople\\Desktop\\Dopameter3\\Dopameter\\android\\app\\build" ^
"-DPROJECT_ROOT_DIR=C:\\Users\\pople\\Desktop\\Dopameter3\\Dopameter\\android" ^
"-DREACT_ANDROID_DIR=C:\\Users\\pople\\Desktop\\Dopameter3\\Dopameter\\node_modules\\react-native\\ReactAndroid" ^
"-DANDROID_STL=c++_shared" ^
"-DANDROID_SUPPORT_FLEXIBLE_PAGE_SIZES=ON"
from C:\Users\pople\Desktop\Dopameter3\Dopameter\android\app
CMake Error at C:/Users/pople/Desktop/Dopameter3/Dopameter/android/app/build/generated/autolinking/src/main/jni/Android-autolinking.cmake:9 (add_subdirectory):
add_subdirectory given source
"C:/Users/pople/Desktop/Dopameter3/Dopameter/node_modules/@react-native-async-storage/async-storage/android/build/generated/source/codegen/jni/"
which is not an existing directory.
Call Stack (most recent call first):
C:/Users/pople/Desktop/Dopameter3/Dopameter/node_modules/react-native/ReactAndroid/cmake-utils/ReactNative-application.cmake:100 (include)
CMakeLists.txt:31 (include)
CMake Error at C:/Users/pople/Desktop/Dopameter3/Dopameter/android/app/build/generated/autolinking/src/main/jni/Android-autolinking.cmake:13 (add_subdirectory):
add_subdirectory given source
"C:/Users/pople/Desktop/Dopameter3/Dopameter/node_modules/react-native-gesture-handler/android/build/generated/source/codegen/jni/"
which is not an existing directory.
Call Stack (most recent call first):
C:/Users/pople/Desktop/Dopameter3/Dopameter/node_modules/react-native/ReactAndroid/cmake-utils/ReactNative-application.cmake:100 (include)
CMakeLists.txt:31 (include)
CMake Error at C:/Users/pople/Desktop/Dopameter3/Dopameter/node_modules/react-native/ReactAndroid/cmake-utils/ReactNative-application.cmake:103 (target_link_libraries):
Cannot specify link libraries for target "react_codegen_rnasyncstorage"
which is not built by this project.
Call Stack (most recent call first):
CMakeLists.txt:31 (include)
at com.android.build.gradle.internal.cxx.process.ExecuteProcessKt.execute(ExecuteProcess.kt:288)
at com.android.build.gradle.internal.cxx.process.ExecuteProcessKt$executeProcess$1.invoke(ExecuteProcess.kt:108)
at com.android.build.gradle.internal.cxx.process.ExecuteProcessKt$executeProcess$1.invoke(ExecuteProcess.kt:106)
at com.android.build.gradle.internal.cxx.timing.TimingEnvironmentKt.time(TimingEnvironment.kt:32)
at com.android.build.gradle.internal.cxx.process.ExecuteProcessKt.executeProcess(ExecuteProcess.kt:106)
at com.android.build.gradle.internal.cxx.process.ExecuteProcessKt.executeProcess$default(ExecuteProcess.kt:85)
at com.android.build.gradle.tasks.CmakeQueryMetadataGenerator.executeProcess(CmakeFileApiMetadataGenerator.kt:59)
at com.android.build.gradle.tasks.ExternalNativeJsonGenerator$configureOneAbi$1$1$3.invoke(ExternalNativeJsonGenerator.kt:247)
at com.android.build.gradle.tasks.ExternalNativeJsonGenerator$configureOneAbi$1$1$3.invoke(ExternalNativeJsonGenerator.kt:247)
at com.android.build.gradle.internal.cxx.timing.TimingEnvironmentKt.time(TimingEnvironment.kt:32)
at com.android.build.gradle.tasks.ExternalNativeJsonGenerator.configureOneAbi(ExternalNativeJsonGenerator.kt:247)
at com.android.build.gradle.tasks.ExternalNativeJsonGenerator.configure(ExternalNativeJsonGenerator.kt:113)
at com.android.build.gradle.tasks.ExternalNativeBuildJsonTask.doTaskAction(ExternalNativeBuildJsonTask.kt:89)
at com.android.build.gradle.internal.tasks.UnsafeOutputsTask$taskAction$$inlined$recordTaskAction$1.invoke(BaseTask.kt:59)
at com.android.build.gradle.internal.tasks.Blocks.recordSpan(Blocks.java:51)
at com.android.build.gradle.internal.tasks.UnsafeOutputsTask.taskAction(UnsafeOutputsTask.kt:81)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:125)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.doExecute(StandardTaskAction.java:58)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:51)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:29)
at org.gradle.api.internal.tasks.execution.TaskExecution$3.run(TaskExecution.java:244)
at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47)
at org.gradle.api.internal.tasks.execution.TaskExecution.executeAction(TaskExecution.java:229)
at org.gradle.api.internal.tasks.execution.TaskExecution.executeActions(TaskExecution.java:212)
at org.gradle.api.internal.tasks.execution.TaskExecution.executeWithPreviousOutputFiles(TaskExecution.java:195)
at org.gradle.api.internal.tasks.execution.TaskExecution.execute(TaskExecution.java:162)
at org.gradle.internal.execution.steps.ExecuteStep.executeInternal(ExecuteStep.java:105)
at org.gradle.internal.execution.steps.ExecuteStep.access$000(ExecuteStep.java:44)
at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:59)
at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:56)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:209)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:56)
at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:44)
at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:42)
at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:75)
at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:55)
at org.gradle.internal.execution.steps.PreCreateOutputParentsStep.execute(PreCreateOutputParentsStep.java:50)
at org.gradle.internal.execution.steps.PreCreateOutputParentsStep.execute(PreCreateOutputParentsStep.java:28)
at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:67)
at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:37)
at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:61)
at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:26)
at org.gradle.internal.execution.steps.CaptureOutputsAfterExecutionStep.execute(CaptureOutputsAfterExecutionStep.java:69)
at org.gradle.internal.execution.steps.CaptureOutputsAfterExecutionStep.execute(CaptureOutputsAfterExecutionStep.java:46)
at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:40)
at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:29)
at org.gradle.internal.execution.steps.BuildCacheStep.executeWithoutCache(BuildCacheStep.java:189)
at org.gradle.internal.execution.steps.BuildCacheStep.lambda$execute$1(BuildCacheStep.java:75)
at org.gradle.internal.Either$Right.fold(Either.java:175)
at org.gradle.internal.execution.caching.CachingState.fold(CachingState.java:62)
at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:73)
at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:48)
at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:46)
at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:35)
at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:75)
at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$2(SkipUpToDateStep.java:53)
at java.base/java.util.Optional.orElseGet(Optional.java:364)
at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:53)
at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:35)
at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:37)
at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:27)
at org.gradle.internal.execution.steps.ResolveIncrementalCachingStateStep.executeDelegate(ResolveIncrementalCachingStateStep.java:49)
at org.gradle.internal.execution.steps.ResolveIncrementalCachingStateStep.executeDelegate(ResolveIncrementalCachingStateStep.java:27)
at org.gradle.internal.execution.steps.AbstractResolveCachingStateStep.execute(AbstractResolveCachingStateStep.java:71)
at org.gradle.internal.execution.steps.AbstractResolveCachingStateStep.execute(AbstractResolveCachingStateStep.java:39)
at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:65)
at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:36)
at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:107)
at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:56)
at org.gradle.internal.execution.steps.AbstractCaptureStateBeforeExecutionStep.execute(AbstractCaptureStateBeforeExecutionStep.java:64)
at org.gradle.internal.execution.steps.AbstractCaptureStateBeforeExecutionStep.execute(AbstractCaptureStateBeforeExecutionStep.java:43)
at org.gradle.internal.execution.steps.AbstractSkipEmptyWorkStep.executeWithNonEmptySources(AbstractSkipEmptyWorkStep.java:125)
at org.gradle.internal.execution.steps.AbstractSkipEmptyWorkStep.execute(AbstractSkipEmptyWorkStep.java:56)
at org.gradle.internal.execution.steps.AbstractSkipEmptyWorkStep.execute(AbstractSkipEmptyWorkStep.java:36)
at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:38)
at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:36)
at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:23)
at org.gradle.internal.execution.steps.HandleStaleOutputsStep.execute(HandleStaleOutputsStep.java:75)
at org.gradle.internal.execution.steps.HandleStaleOutputsStep.execute(HandleStaleOutputsStep.java:41)
at org.gradle.internal.execution.steps.AssignMutableWorkspaceStep.lambda$execute$0(AssignMutableWorkspaceStep.java:35)
at org.gradle.api.internal.tasks.execution.TaskExecution$4.withWorkspace(TaskExecution.java:289)
at org.gradle.internal.execution.steps.AssignMutableWorkspaceStep.execute(AssignMutableWorkspaceStep.java:31)
at org.gradle.internal.execution.steps.AssignMutableWorkspaceStep.execute(AssignMutableWorkspaceStep.java:22)
at org.gradle.internal.execution.steps.ChoosePipelineStep.execute(ChoosePipelineStep.java:40)
at org.gradle.internal.execution.steps.ChoosePipelineStep.execute(ChoosePipelineStep.java:23)
at org.gradle.internal.execution.steps.ExecuteWorkBuildOperationFiringStep.lambda$execute$2(ExecuteWorkBuildOperationFiringStep.java:67)
at java.base/java.util.Optional.orElseGet(Optional.java:364)
at org.gradle.internal.execution.steps.ExecuteWorkBuildOperationFiringStep.execute(ExecuteWorkBuildOperationFiringStep.java:67)
at org.gradle.internal.execution.steps.ExecuteWorkBuildOperationFiringStep.execute(ExecuteWorkBuildOperationFiringStep.java:39)
at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:46)
at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:34)
at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:48)
at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:35)
at org.gradle.internal.execution.impl.DefaultExecutionEngine$1.execute(DefaultExecutionEngine.java:61)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:127)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:116)
at org.gradle.api.internal.tasks.execution.ProblemsTaskPathTrackingTaskExecuter.execute(ProblemsTaskPathTrackingTaskExecuter.java:40)
at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:74)
at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:209)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:42)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:331)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:318)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.lambda$execute$0(DefaultTaskExecutionGraph.java:314)
at org.gradle.internal.operations.CurrentBuildOperationRef.with(CurrentBuildOperationRef.java:85)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:314)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:303)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:459)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:376)
at org.gradle.execution.plan.DefaultPlanExecutor.process(DefaultPlanExecutor.java:111)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph.executeWithServices(DefaultTaskExecutionGraph.java:138)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph.execute(DefaultTaskExecutionGraph.java:123)
at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:35)
at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:51)
at org.gradle.execution.BuildOperationFiringBuildWorkerExecutor$ExecuteTasks.call(BuildOperationFiringBuildWorkerExecutor.java:54)
at org.gradle.execution.BuildOperationFiringBuildWorkerExecutor$ExecuteTasks.call(BuildOperationFiringBuildWorkerExecutor.java:43)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:209)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
at org.gradle.execution.BuildOperationFiringBuildWorkerExecutor.execute(BuildOperationFiringBuildWorkerExecutor.java:40)
at org.gradle.internal.build.DefaultBuildLifecycleController.lambda$executeTasks$10(DefaultBuildLifecycleController.java:313)
at org.gradle.internal.model.StateTransitionController.doTransition(StateTransitionController.java:266)
at org.gradle.internal.model.StateTransitionController.lambda$tryTransition$8(StateTransitionController.java:177)
at org.gradle.internal.work.DefaultSynchronizer.withLock(DefaultSynchronizer.java:46)
at org.gradle.internal.model.StateTransitionController.tryTransition(StateTransitionController.java:177)
at org.gradle.internal.build.DefaultBuildLifecycleController.executeTasks(DefaultBuildLifecycleController.java:304)
at org.gradle.internal.build.DefaultBuildWorkGraphController$DefaultBuildWorkGraph.runWork(DefaultBuildWorkGraphController.java:220)
at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:263)
at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:127)
at org.gradle.composite.internal.DefaultBuildController.doRun(DefaultBuildController.java:181)
at org.gradle.composite.internal.DefaultBuildController.access$000(DefaultBuildController.java:50)
at org.gradle.composite.internal.DefaultBuildController$BuildOpRunnable.lambda$run$0(DefaultBuildController.java:198)
at org.gradle.internal.operations.CurrentBuildOperationRef.with(CurrentBuildOperationRef.java:85)
at org.gradle.composite.internal.DefaultBuildController$BuildOpRunnable.run(DefaultBuildController.java:198)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:48)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:842)
Caused by: com.android.ide.common.process.ProcessException: Error while executing process C:\Users\pople\AppData\Local\Android\Sdk\cmake\3.22.1\bin\cmake.exe with arguments {-HC:\Users\pople\Desktop\Dopameter3\Dopameter\node_modules\react-native\ReactAndroid\cmake-utils\default-app-setup -DCMAKE_SYSTEM_NAME=Android -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_SYSTEM_VERSION=24 -DANDROID_PLATFORM=android-24 -DANDROID_ABI=arm64-v8a -DCMAKE_ANDROID_ARCH_ABI=arm64-v8a -DANDROID_NDK=C:\Users\pople\AppData\Local\Android\Sdk\ndk\27.0.12077973 -DCMAKE_ANDROID_NDK=C:\Users\pople\AppData\Local\Android\Sdk\ndk\27.0.12077973 -DCMAKE_TOOLCHAIN_FILE=C:\Users\pople\AppData\Local\Android\Sdk\ndk\27.0.12077973\build\cmake\android.toolchain.cmake -DCMAKE_MAKE_PROGRAM=C:\Users\pople\AppData\Local\Android\Sdk\cmake\3.22.1\bin\ninja.exe -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=C:\Users\pople\Desktop\Dopameter3\Dopameter\android\app\build\intermediates\cxx\Debug\3s2k2s1k\obj\arm64-v8a -DCMAKE_RUNTIME_OUTPUT_DIRECTORY=C:\Users\pople\Desktop\Dopameter3\Dopameter\android\app\build\intermediates\cxx\Debug\3s2k2s1k\obj\arm64-v8a -DCMAKE_BUILD_TYPE=Debug -DCMAKE_FIND_ROOT_PATH=C:\Users\pople\Desktop\Dopameter3\Dopameter\android\app\.cxx\Debug\3s2k2s1k\prefab\arm64-v8a\prefab -BC:\Users\pople\Desktop\Dopameter3\Dopameter\android\app\.cxx\Debug\3s2k2s1k\arm64-v8a -GNinja -DPROJECT_BUILD_DIR=C:\Users\pople\Desktop\Dopameter3\Dopameter\android\app\build -DPROJECT_ROOT_DIR=C:\Users\pople\Desktop\Dopameter3\Dopameter\android -DREACT_ANDROID_DIR=C:\Users\pople\Desktop\Dopameter3\Dopameter\node_modules\react-native\ReactAndroid -DANDROID_STL=c++_shared -DANDROID_SUPPORT_FLEXIBLE_PAGE_SIZES=ON}
at com.android.build.gradle.internal.process.GradleProcessResult.buildProcessException(GradleProcessResult.java:73)
at com.android.build.gradle.internal.process.GradleProcessResult.assertNormalExitValue(GradleProcessResult.java:48)
at com.android.build.gradle.internal.cxx.process.ExecuteProcessKt.execute(ExecuteProcess.kt:277)
... 173 more
Caused by: org.gradle.process.internal.ExecException: Process 'command 'C:\Users\pople\AppData\Local\Android\Sdk\cmake\3.22.1\bin\cmake.exe'' finished with non-zero exit value 1
at org.gradle.process.internal.DefaultExecHandle$ExecResultImpl.assertNormalExitValue(DefaultExecHandle.java:442)
at com.android.build.gradle.internal.process.GradleProcessResult.assertNormalExitValue(GradleProcessResult.java:46)
... 174 more
Description
Written by Gemini:
I'm encountering persistent CMake errors when trying to build my React Native 0.78.0 Android app (npx react-native start + a ). The errors consistently point to missing jni directories within several packages, specifically u/react-native-async-storage/async-storage, react-native-gesture-handler, and react-native-reanimated.
The error message is: add_subdirectory given source "..." which is not an existing directory.
Here's what I've tried so far:
Checked NDK and CMake installations (versions seem correct).
Cleaned Gradle and rebuilt the project.
Invalidated Android Studio caches.
Inspected the CMake output log (no immediate errors related to compiler/linker).
Verified that the React Native version is 0.78.0, and understand the react 19 dependancy changes.
Inspected the autolinking files, and confirmed that the paths are incorrect.
Confirmed that some of the packages should contain jni folders, and some packages may not.
The problem seems to be related to the autolinking process and the presence/absence of jni directories in these dependencies. I'm struggling to pinpoint the exact cause.
My package.json:
Steps to reproduce
Provided by Gemini:
npm install (or yarn install)
Ensure these packages are included in your package.json dependencies:
@react-native-async-storage/async-storage
react-native-gesture-handler
react-native-reanimated
Attempt an Android Build:
npx react-native run-android
Observe the Error:
The build will fail with CMake errors, specifically:
add_subdirectory given source "..." which is not an existing directory.
Errors related to missing jni directories within @react-native-async-storage/async-storage, react-native-gesture-handler, and react-native-reanimated.
Inspection of the following file:
Inspect android/app/build/generated/autolinking/src/main/jni/Android-autolinking.cmake and observe that the paths to the jni folders are incorrect.
Inspection of the node_modules:
Inspect the node_modules folder, and observe that some of the folders that the autolinking file is looking for, do not exist.
Additional Tips:
Provide package.json: Include a snippet of your package.json file, especially the dependencies section, so others can see the exact versions of your packages.
Specify Target Device/Emulator: If the problem is specific to a particular device or emulator, mention that.
Clear and Concise: Keep the steps as straightforward as possible.
Formatting: Use code blocks (```) to format commands and code snippets for readability.
By providing these detailed steps, you'll make it much easier for people to understand and reproduce your issue, increasing your chances of getting helpful responses.
React Native Version
0.78.0
Affected Platforms
Build - Windows, Runtime - Android
Output of
npx @react-native-community/cli info
Stacktrace or Logs
Reproducer
https://github.com/rupertpople/reactError
Screenshots and Videos
npx react-native start
a
is where the error occurs.
The text was updated successfully, but these errors were encountered: