Red de conocimiento informático - Computadora portátil - Registro de problemas de AGP 3.5.3 a 4.2.2

Registro de problemas de AGP 3.5.3 a 4.2.2

Antes de la modificación:

Después de la modificación:

El proyecto ha sido compatible con Androidx durante mucho tiempo y gradle.properties en el directorio raíz ya tiene las dos líneas siguientes

Sin embargo, el error anterior aún se informó después de la reconstrucción. Después de buscar durante mucho tiempo, encontré que también hay un gradle.properties en el módulo de la aplicación del proyecto anterior, pero android.useAndroidX=. falso en ello. . . . . .

Si estás borracho, simplemente elimina este gradle.properties redundante.

Más tarde vi esta frase en las instrucciones de actualización de AGP4.2.0:

Cambios de comportamiento del archivo gradle.properties

A partir de AGP 4.2, no es Ya no es posible cambiar las propiedades de Reemplazar Gradle en subproyectos. Es decir, si declara una propiedad en un archivo gradle.properties en un subproyecto (en lugar del proyecto raíz), la propiedad se ignorará.

Las versiones de AGP 3.6 y superiores utilizan un nuevo método de empaquetado al depurar y desarrollar aplicaciones. Desactive aquí el nuevo método de empaquetado para permitir que se complete la compilación.

El atributo android.namespacedRClass tiene. se ha restablecido Nombrado android.nonTransitiveRClass

El indicador experimental android.namespacedRClass ha sido renombrado a android.nonTransitiveRClass.

Este indicador, establecido en el archivo gradle.properties, habilita el espacio de nombres de las clases R de cada biblioteca para que sus clases R solo contengan recursos declarados en la biblioteca misma, y ​​no en las dependencias de la biblioteca. reduciendo así el tamaño de la clase R de la biblioteca correspondiente.

Solución: elimine android.nonTransitiveRClass=true en gradle.properties

El mensaje de error es el siguiente: Las dependencias directas de archivos .aar locales no se admiten al crear un AAR.

El AAR resultante se rompería porque las clases y los recursos de Android de cualquier dependencia de archivo .aar

local no estarían empaquetados en las versiones anteriores de Android

resultantes. > El complemento Gradle también produce AAR rotos en este caso (a pesar de no arrojar este error).

Método de dependencia de AAR antes de la modificación:

Método de dependencia de AAR después de la modificación:

4. Agregue dependencia de local_aar en el módulo

Consulte: No se admiten dependencias directas de archivos .aar locales

[REFERENCIA CIRCULAR: com.android.tools.r8.utils. b: Se esperaba [access-flag]* void en C:\Users\DT.gradle\caches\transforms-3\fd8ee676f15f0d57578a9e28a336cbac\transformed\pol

yvPlayer-2.15.2\proguard.txt :95:42

public PolyvAuxiliaryVideoView ;

Solución: actualice polyvPlayer a net.polyv.android:polyvPlayer:2.15.3

Este problema aún no se ha resuelto. Debería deberse a la irregularidad del manifiesto en una biblioteca de terceros y la falta de corchetes angulares

Referencia:

Android agp admite soporte en línea para Archivos R

Notas de la versión del complemento Android Gradle