Что я сделал (команды, которые я выполнил)
Из папки Android я запустил:
Код: Выделить всё
gradlew clean
gradlew assembleRelease
Код: Выделить всё
C:\versapos\VersaPOS\android>gradlew assembleRelease
> Task :app:configureCMakeRelWithDebInfo[arm64-v8a]
C/C++: C:\versapos\VersaPOS\node_modules\react-native\ReactAndroid\cmake-utils\default-app-setup\CMakeLists.txt release|arm64-v8a : com.google.prefab.api.NoMatchingLibraryException: No compatible library found for //ReactAndroid/hermestooling. Rejected the following libraries:
> Task :app:configureCMakeRelWithDebInfo[arm64-v8a] FAILED
[Incubating] Problems report is available at: file:///C:/versapos/VersaPOS/android/build/reports/problems/problems-report.html
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:configureCMakeRelWithDebInfo[arm64-v8a]'.
> [CXX1214] C:\versapos\VersaPOS\node_modules\react-native\ReactAndroid\cmake-utils\default-app-setup\CMakeLists.txt release|arm64-v8a : User has minSdkVersion 22 but library was built for 24 [//ReactAndroid/hermestooling]
BUILD FAILED in 12s
24 actionable tasks: 14 executed, 10 up-to-date
- Я явно понизил minSdkVersion до 22 в android/build.gradle.
Код: Выделить всё
buildscript { ext { buildToolsVersion = "36.0.0" minSdkVersion = 22 //prev 24 compileSdkVersion = 36 targetSdkVersion = 36 ndkVersion = "27.1.12297006" kotlinVersion = "2.1.20" } repositories { google() mavenCentral() } dependencies { classpath("com.android.tools.build:gradle") classpath("com.facebook.react:react-native-gradle-plugin") classpath("org.jetbrains.kotlin:kotlin-gradle-plugin") } } apply plugin: "com.facebook.react.rootproject ``` - Я запустил gradlew clean, а затем gradlew assembleRelease.
Код: Выделить всё
{
"name": "VersaPOS",
"version": "0.0.1",
"private": true,
"scripts": {
"android": "react-native run-android",
"ios": "react-native run-ios",
"lint": "eslint .",
"start": "react-native start",
"test": "jest"
},
"dependencies": {
"@fortawesome/fontawesome-svg-core": "^6.7.2",
"@fortawesome/free-brands-svg-icons": "^7.0.1",
"@fortawesome/free-regular-svg-icons": "^7.0.1",
"@fortawesome/free-solid-svg-icons": "^7.0.1",
"@fortawesome/react-native-fontawesome": "^0.3.2",
"@react-native-async-storage/async-storage": "^2.2.0",
"@react-native/new-app-screen": "0.81.1",
"@react-navigation/native": "^7.1.17",
"@react-navigation/stack": "^7.4.8",
"axios": "^1.12.2",
"react": "19.1.0",
"react-native": "^0.81.1",
"react-native-gesture-handler": "^2.28.0",
"react-native-linear-gradient": "^2.8.3",
"react-native-safe-area-context": "^5.6.1",
"react-native-screens": "^4.16.0",
"react-native-svg": "^15.13.0"
},
"devDependencies": {
"@babel/core": "^7.25.2",
"@babel/preset-env": "^7.25.3",
"@babel/runtime": "^7.25.0",
"@react-native-community/cli": "latest",
"@react-native-community/cli-platform-android": "latest",
"@react-native-community/cli-platform-ios": "latest",
"@react-native/babel-preset": "0.81.1",
"@react-native/eslint-config": "0.81.1",
"@react-native/metro-config": "0.81.1",
"@react-native/typescript-config": "0.81.1",
"@types/jest": "^29.5.13",
"@types/react": "^19.1.0",
"@types/react-test-renderer": "^19.1.0",
"eslint": "^8.19.0",
"jest": "^29.6.3",
"prettier": "2.8.8",
"react-test-renderer": "19.1.0",
"typescript": "^5.8.3"
},
"engines": {
"node": ">=20"
}
}
- Проект представляет собой простую сборку React Native Android (CLI, а не Expo).
Как я могу создать сборку проекта, сохраняя minSdkVersion = 22?
Заранее спасибо — любые указания о том, как пересобрать или настроить собственные библиотеки для работы с ними minSdk 22 или альтернативы для продолжения поддержки API 22 будут приветствоваться.
Подробнее здесь: https://stackoverflow.com/questions/798 ... n-22-but-l