Complemento de Android para Gradle 8.2.0 (noviembre de 2023)
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
El complemento de Android para Gradle 8.2.0 es una actualización importante que incluye una variedad de nuevas funciones y mejoras.
Compatibilidad
El nivel de API máximo que admite el complemento de Android para Gradle 8.2 es el nivel de API 34.
Aquí tienes más información sobre la compatibilidad:
Nueva macro para especificar la ruta de acceso de JDK
#GRADLE_LOCAL_JAVA_HOME
es una macro nueva que puedes usar para especificar la ruta de acceso de JDK. De esta manera, es más sencillo y seguro especificar la ruta de acceso principal de Java que se usa para la ejecución del daemon de Gradle (proceso en segundo plano) de tu proyecto. La selección de la ruta se almacena en el campo java.home
del archivo .gradle/config.properties
. Establece este campo a través de la configuración de Gradle JDK en Android Studio: File (o Android Studio en macOS) > Settings > Build, Execution, Deployment > Build Tools > Gradle.
Los proyectos nuevos usarán #GRADLE_LOCAL_JAVA_HOME
de forma predeterminada. Los proyectos existentes se migrarán, automáticamente, a la macro nueva después de una sincronización correcta, a menos que ya uses una macro como #JAVA_HOME
.
Los beneficios principales de la nueva macro son los siguientes:
- Puedes modificar, de forma manual, la ruta de acceso de JDK para activar la sincronización sin abrir tu proyecto primero.
- Menos errores relacionados con versiones incompatibles de Gradle y de JDK del proyecto, ya que existe una única fuente de información para tu selección de Gradle JDK.
Errores corregidos
Complemento de Android para Gradle 8.2.0
Errores corregidos |
Complemento de Android para Gradle |
Los tipos de fuentes personalizadas deben crear conjuntos de orígenes de varios tipos
|
La verificación de versión del SDK no controla a los usuarios de las extensiones del SDK
|
DependenciesInfoBuilder necesita la actualización y el documento de la API.
|
DexingNoClasspathTransform (minSdk >= 24) orientado a Java 11 falla debido a que faltan miembros anidados
|
DslExtension.Builder.extendProjectWith() no funciona como se describe en Groovy
|
Se agregó la API de VariantSelector.withFlavor que no usa kotlin.Pair
|
AndroidLintAnalysisTask ( :lintAnalyzeExternalRelease) tiene un error de caché porque "proguard.txt" cambió
|
El manifiesto combinado de la app contiene atributos extractNativeLibs y useEmbedDex de dependencias
|
El AIDL falla con las herramientas de compilación 33.0.0
|
AGP: Se expuso la ruta de acceso a la herramienta de AIDL y al archivo de framework de AIDL como una API pública
|
Solicitud: permite que el IDE ofrezca una corrección para "PermittedSubclasses requires ASM9".
|
Código de bytes objetivo 17 cuando se compila el AGP
|
Se quita VariantManager.getModifiedName.
|
AndroidTest.packaging.jniLibs.keepDebugSymbols no afecta el empaquetado de androidTest.
|
Las tareas de prueba de instrumentación de GMD se demoran y comienzan a fallar con reintentos.
|
generateLocaleConfig in agp 8.1.0 usa el orden no determinista e interrumpe las compilaciones reproducibles.
|
ProcessApplicationManifest.navigationJsons tiene archivos con rutas de acceso absolutas.
|
No se permite el acceso a GradleBuildProject.Builder a través de AnalyticsConfiguratorService después de crear AnalyticsService.
|
AndroidTest.packaging.jniLibs.keepDebugSymbols no afecta el empaquetado de androidTest.
|
Se permite la compilación de valores de color no permitidos.
|
"ReplaceWith" incorrecto para VariantBuilder.
|
Gradle 8.1 interrumpe el almacenamiento en caché de la configuración debido a .gradle/.android/analytics.settings.
|
Los mensajes de baja no usan "ReplaceWith".
|
Se expone un método para obtener la versión predeterminada del NDK.
|
El complemento de Android para Gradle requiere Java 17 para ejecutarse.
|
Incompatibilidad de ASM Transform y toAttach().
|
Se corrige LintErrors cuando se ejecuta lint con K2 UAST a través de Gradle en un proyecto de KMP.
|
Se agregó compatibilidad con missingDimensionStrategy a nivel de variantes y, posiblemente, con matchingFallback de tipo de compilación/variedad.
|
Se quitó "android.injected.studio.version" en Android Studio Giraffe.
|
Se agrega la capacidad de inhabilitar AndroidXDependencyCheck.
|
generateLocaleConfig in agp 8.1.0 usa el orden no determinista e interrumpe las compilaciones reproducibles.
|
Se anuncian los requisitos de la versión R8 y D8 en los metadatos de AAR (p. ej., para coreLibraryDesugaring y las nuevas APIs fuera de línea).
|
Advertencia de sincronización: "No se debe acceder a GradleBuildProject.Builder a través de AnalyticsConfiguratorService después de crear AnalyticsService".
|
Se actualiza a un hito de Gradle 8.2 o a RC.
|
No se puede acceder a "java.lang.Comparable".
|
androidResources no está disponible en el módulo de la biblioteca de Android.
|
Se produce un fallo en la ejecución de ':app:mergeReleaseClasses' después de actualizar AGP de 8.0.2 a 8.1.0.
|
Gradle 8.1 interrumpe el almacenamiento en caché de la configuración debido a .gradle/.android/analytics.settings.
|
[AGP 8.1.0] La prueba ./gradlew falla y muestra el mensaje de que no se pudo encontrar el resultado del manifiesto si tanto splits.abi.isEnable como testOptions.unitTests.isIncludeAndroidResources son verdaderos.
|
Android Studio Giraffe no respeta versionCodeOverride con AGP 8.1.
|
AGP 8.1.0 desinstala la app después de ejecutar pruebas de instrumentación; la versión 7.4.2 no la desinstala.
|
La transformación de un APK genera un error con ListingFileRedirectTask.
|
REGRESIÓN DE HEDGEHOG: El botón para ejecutar tiene una demora de unos segundos (creando las especificaciones).
|
|
Dexer (D8) |
Se habilita el registro nativo y las clases selladas durante la conversión a DEX para min-api 34 y niveles superiores.
|
|
Lint |
La comprobación de creación de instancias con lint no controla bien AppComponentFactory
|
Las versiones alfa de Lint 8.2.0 aún no admiten importaciones de funciones de nivel superior en Kotlin.
|
Se agrega una opción para no incluir números de líneas y columnas en el modelo de referencia de lint.
|
Se agrega una opción para no incluir números de líneas y columnas en el modelo de referencia de lint.
|
Las pruebas de lint no son compatibles con las funciones del lenguaje Java 17.
|
El parche 1 de Bumblebee 2021.1.1 indica que una versión antigua (20030203.000550) de Commons-I es más reciente que la 2.11.0.
|
Las versiones alfa de Lint 8.2.0 aún no admiten importaciones de funciones de nivel superior en Kotlin.
|
El parche 1 de Bumblebee 2021.1.1 indica que una versión antigua (20030203.000550) de Commons-I es más reciente que la 2.11.0.
|
Android Studio marca de forma incorrecta la versión que se especificó como desactualizada.
|
Lint ignora el problema de UseValueOf cuando se usa UAST K2.
|
Problemas inesperados de otro proyecto que marcó Android Lint.
|
Android Lint falla en una biblioteca KMP con el mensaje de que la propiedad variantInputs.name no tiene un valor configurado.
|
|
Integración de lint |
Error de lint DuplicatePlatformClasses de la dependencia testImplementation.
|
|
Reductor (R8) |
java.lang.VerifyError: El verificador rechaza la clase.
|
La compilación se bloquea en :minifyReleaseWithR8 cuando se usa la biblioteca de Apache POI.
|
Kotlin 1.9 hace que R8 destruya las lambdas de Kotlin si se quitan las verificaciones nulas.
|
|
Complemento de Android para Gradle 8.2.1
Errores corregidos |
Complemento de Android para Gradle |
No ejecutes la tareas de conversión a dex en clases de subproyectos cuando ya se hayan convertido a través de transformaciones de artefactos
|
El complemento de Android para Gradle fallaba con JavaVersion.VERSION_11 y OpenJDK 21 ea
|
|
Dexer (D8) |
Expande la sintaxis de los registros para Android U
|
|
Reductor (R8) |
R8 genera un archivo DEX dañado, lo que arroja una excepción de transmisión de clase en el tiempo de ejecución
|
R8 causa que la interfaz se cambie a inaccesible
|
El SDK de Flurry R8 falla con AGP 8.2.0
|
Android: R8 hace que falle la subclase de LinearLayoutManager
|
ClassCastException en R8 cuando la modificación y el reempaquetado están activados, y la reducción, la ofuscación y la optimización están desactivadas
|
R8 se atascó en BridgeAnalyzer.analyzeMethod
|
R8 v8.2.33: Falla del entorno de ejecución "java.lang.VerifyError: Bad type on operand stack" después de la actualización
|
|
Complemento de Android para Gradle 8.2.2
Errores corregidos |
Complemento de Android para Gradle |
No se puede establecer la versión de JaCoCo en AGP 8.2.0.
|
|
Dexer (D8) |
[Biblioteca de expansión de sintaxis] La versión 2.1 de la biblioteca con expansión de sintaxis no es compatible con versiones anteriores de R8.
|
¿Se pueden ejecutar optimizaciones solo con D8?
|
|
Reductor (R8) |
[R8 8.3.21] R8 8.3.21 es 1.57 MB más grande que R8 8.1.56.
|
La función class.getInterfaces() muestra un valor vacío.
|
|
El contenido y las muestras de código que aparecen en esta página están sujetas a las licencias que se describen en la Licencia de Contenido. Java y OpenJDK son marcas registradas de Oracle o sus afiliados.
Última actualización: 2025-02-28 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-02-28 (UTC)"],[],[]]