Mientras ejecuto mi código nativo react-native run-android obtiene el siguiente error. Estaba funcionando correctamente. Pero después de tomar una nueva extracción de git y npm ci y después de ejecutar, aparece este error.
error Failed to install the app. Make sure you have the Android development environment set up: https://reactnative.dev/docs/environment-setup. Error: Command failed: gradlew.bat app:installDebug -PreactNativeDevServerPort=8081 FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:checkDebugAarMetadata'. > A failure occurred while executing com.android.build.gradle.internal.tasks.CheckAarMetadataWorkAction > The minCompileSdk (30) specified in a dependency's AAR metadata (META-INF/com/android/build/gradle/aar-metadata.properties) is greater than this module's compileSdkVersion (android-29). Dependency: androidx.core:core:1.7.0-alpha01. AAR metadata file: C:\Users\gauraab\.gradle\caches\transforms-2\files-2.1\9e02d64f5889006a671d0a7165c73e72\core-1.7.0-alpha01\META-INF\com\android\build\gradle\aar-metadata.properties.Como algunos han mencionado, el problema es que la compilación RN se "actualizó" automáticamente a androidx.core:core:1.7.0-alpha01, que depende de la versión 30 del SDK.
La solución es simplemente especificar la versión principal de Android a través de androidXCore en build.gradle
buildscript { ext { buildToolsVersion = "29.0.3" minSdkVersion = 23 compileSdkVersion = 29 targetSdkVersion = 29 ndkVersion = "20.1.5948944" kotlin_version = "1.5.0" androidXCore = "1.5.0" }Descubrir esto fue doloroso. Busqué archivos gradle que actualizarían automáticamente los paquetes así
find . -name '*.gradle' -exec grep -H "\.+" {} \; y encontrado en node_modules/@react-native-community/netinfo/android/build.gradle el siguiente fragmento
def androidXCore = getExtOrInitialValue('androidXCore', null) if (supportLibVersion && androidXVersion == null && androidXCore == null) { implementation "com.android.support:appcompat-v7:$supportLibVersion" } else { def defaultAndroidXVersion = "1.+" if (androidXCore == null) { androidXCore = androidXVersion == null ? defaultAndroidXVersion : androidXVersion } implementation "androidx.core:core:$androidXCore" } }Aparentemente rompieron esto hoy.
Puede solucionarlo agregando la siguiente línea al archivo build.gradle de su aplicación (encima del bloque android { } como hermano):
configurations.all { resolutionStrategy { force 'androidx.core:core-ktx:1.6.0' } }Finalmente, la compilación de Gradle se completó con éxito. Árbitro. https://docs.gradle.org/current/dsl/org.gradle.api.artifacts.ResolutionStrategy.html
Tengo el mismo problema. Sólo hoy. Cuando intento ejecutar localmente, tengo exactamente el mismo error. Para volver a ejecutarlo, actualizo el campo compileSdkVersion y targetSdkVersion en el archivo android > build.gradle de 29 a 30. Luego, puede ejecutarse nuevamente. Si esta respuesta encaja con usted, puede ir de esta manera. Pero, personalmente, estoy buscando una solución sin cambiar el valor compileSdkVersion y targetSdkVersion
Actualización: simplemente cambie la compileSdkVersion