Si encuentras algún problema con tu código o proyecto, recuerda probar siempre en un entorno de testing antes aplicar el código al proyecto final.
Solución:
Estos archivos contienen datos para declaraciones de clases Kotlin estándar (“integradas”) que no se compilan para .class
archivos, sino que se asignan a los tipos existentes en la plataforma (en este caso, JVM). Por ejemplo, kotlin/kotlin.kotlin_builtins
contiene la información para las clases no físicas en el paquete kotlin
: Int
, String
, Enum
, Annotation
, Collection
etc
Hay dos escenarios principales cuando se utilizan estos archivos:
-
El compilador los busca desde
kotlin-stdlib
en el classpath para determinar qué declaraciones integradas están disponibles. -
La biblioteca de reflexión (
kotlin-reflect
) carga estos archivos como recursos para proporcionar capacidades de reflexión para declaraciones integradas. Por ejemplo,String::class.members
devuelve todos los miembros de la clasekotlin.String
exactamente de la misma manera que el compilador de Kotlin ve esos miembros (a pesar de que no haykotlin/String.class
archivo y se borra ajava.lang.String
en código de bytes).
El primer punto claramente no es aplicable en su caso. Y si no usa la reflexión en las clases integradas, creo que es seguro excluir .kotlin_builtins
archivos completamente del contenedor resultante.
Puede optimizar/omitir estos de sus JAR/APK:
packagingOptions
exclude "/META-INF/*.kotlin_module"
exclude "**/kotlin/**"
Aun mejor:
packagingOptions
exclude "/META-INF/*.kotlin_module"
exclude "**/kotlin/**"
exclude "**/*.txt"
exclude "**/*.xml"
exclude "**/*.properties"
Fuente: https://github.com/jaredsburrows/android-gif-example/blob/master/build.gradle.kts#L127
Calificaciones y reseñas
Eres capaz de apoyar nuestra ocupación ejecutando un comentario y valorándolo te damos las gracias.