En este momento estás viendo ¿Cómo saber si una biblioteca de soporte ya es compatible con AndroidX?

 – Unity

¿Cómo saber si una biblioteca de soporte ya es compatible con AndroidX? – Unity

¿Cómo saber si una biblioteca de soporte ya es compatible con AndroidX?

– UnityAssets3Free

hola , me llamo jorge y para hoy os traigo
esta pregunta

Tengo un proyecto en la Unity que usa Mapbox,
Mapbox incluye la siguiente biblioteca de soporte: support-v4-25.1.0.aar
Esta biblioteca viene como un archivo .aar y NO como un gradle implementation dominio
Al intentar compilar el proyecto, aparece este error:

No se pudieron determinar las dependencias de la tarea ‘:launcher:lintVitalRelease’.
No se pudieron resolver todos los artefactos para la configuración ‘:launcher:debugRuntimeClasspath’.
No se pudo transformar support-v4-25.1.0-.aar (:support-v4-25.1.0:) para que coincida con los atributos artifactType=android-manifiesto, org.gradle.status=integración.
> No se pudo ejecutar para JetifyTransform:
C:UsuariosEFGHDocumentosGitHubAREXTempgradleOutunityLibrarylibssupport-v4-25.1.0.aar.
> No se pudo transformar ‘C:UsersEFGHDocumentsGitHubAREXTempgradleOutunityLibrarylibssupport-v4-25.1.0.aar’ usando Jetifier.
Razón: AmbiguousStringJetifierException, mensaje: El artefacto proporcionado contiene un literal de cadena con una referencia de paquete ‘android.support.v4’ que no se puede reescribir de forma segura. Las bibliotecas que utilizan la reflexión, como los procesadores de anotaciones, deben actualizarse manualmente para agregar soporte para androidx. (Ejecute con –stacktrace para obtener más detalles).
Esta es una excepción conocida y Jetifier no podrá utilizar esta biblioteca. Sugerencias:
Si cree que esta biblioteca no necesita ser jetificada (por ejemplo, si ya es compatible con AndroidX o si no usa bibliotecas de soporte/AndroidX), agregue android.jetifier.blacklist = lista separada por comas de expresiones regulares (o simplemente nombres) de las bibliotecas que no desea que se envíen al archivo gradle.properties.

– Si cree que esta biblioteca debe cambiarse (por ejemplo, si usa bibliotecas de soporte antiguas y rompe su aplicación si no se cambia), comuníquese con los autores de la biblioteca para actualizar esta biblioteca para que sea compatible con AndroidX y use la versión compatible tan pronto como sea posible. en lanzamiento.
Si necesitas más ayuda, deja un comentario en https://issuetracker.google.com/issues/140747218.

Mis gradle.properties:

org.gradle.jvmargs=-Xmx**JVM_HEAP_SIZE**M
org.gradle.parallel=true
android.enableJetifier=true
android.useAndroidX=true
android.enableR8=**MINIFY_WITH_R_EIGHT**
unityStreamingAssets=.unity3d**STREAMING_ASSETS**
**ADDITIONAL_PROPERTIES**

Me gustaría saber si hay alguna forma de saber si una biblioteca de soporte específica ya tiene soporte para AndroidX.
Además, para empezar: ¿por qué algunas bibliotecas no necesitan ser jetificadas? ¿Qué significa cuando una biblioteca de soporte es compatible con AndroidX y no necesita ser jetificada? ¿No es Jetify el acto de reemplazar automáticamente las bibliotecas de soporte con sus correspondientes bibliotecas equivalentes de AndroidX? ¿Cómo puede una biblioteca de apoyo obtener un pase libre de ser jetificado? No tiene ningún sentido para mí…

1 respuesta 1

Seguro que está describiendo posibilidades raras en las que no necesitarías usar jetify, por ejemplo, si lo estás haciendo en una clase que no lo usa o en una clase que nunca lo usa. Es muy poco probable que este sea el caso, a menos que el diseñador de la biblioteca haya sido muy descuidado. Pero posiblemente también podría ser bueno si solo está usando la biblioteca de soporte en una clase que su aplicación nunca tocará. No estoy seguro de que pueda compilar si lo incluye en esa condición.

Lo más probable es que no tenga suerte hasta que consiga que el autor de la biblioteca lo arregle, o puede bifurcar la biblioteca y arreglarlo en su propia copia si es de código abierto. Jetpack existe desde hace varios años. Es probable que cualquier biblioteca que todavía use la antigua biblioteca de soporte haya sido abandonada durante años, por lo que esto también es algo a considerar.

nota: si aun no se resuelve tu pregunta por favor dejar un comentario y pronto lo podremos de nuevo , muchas gracias

por hoy,hasta la proxima

Deja una respuesta