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 p>
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:
Consulte: No se admiten dependencias directas de archivos .aar locales
[REFERENCIA CIRCULAR: com.android.tools.r8.utils. b: Se esperaba [access-flag]* void
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