Можно ли игнорировать эти заметки proguard для kotlin?

Я не понимаю, почему я получаю эти записки от Proguard и нужно ли мне что-то делать, чтобы их исправить.

Note: kotlin.internal.PlatformImplementationsKt: can't find dynamically referenced class 
kotlin.internal.jdk8.JDK8PlatformImplementations 
Note: kotlin.internal.PlatformImplementationsKt: can't find dynamically referenced class 
kotlin.internal.JRE8PlatformImplementations 
Note: kotlin.internal.PlatformImplementationsKt: can't find dynamically referenced class 
kotlin.internal.JRE7PlatformImplementations 

Note: kotlin.jvm.internal.Reflection: can't find dynamically referenced class 
kotlin.reflect.jvm.internal.ReflectionFactoryImpl

Три из них для kotlin.internal.PlatformImplementationKt и один для kotlin.jvm.internal.Reflection.

Моя установка

kotlin: 1.2.71
Android Studio / gradle plugin: 3.2.0
gradle: 4.10.2
2
0
1 121
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Да, это безопасно, вы должны добавить эти правила в конфигурацию proguard-rules.pro.

# Kotlin
-keep class kotlin.Metadata { *; }
-dontnote kotlin.internal.PlatformImplementationsKt
-dontnote kotlin.reflect.jvm.internal.**

OK. Я понимаю, почему proguard предоставляет примечание can't find dynamically referenced class. Есть идеи, почему мы получаем эти конкретные примечания для котлина?

rpattabi 07.10.2018 17:22

Это, вероятно, зависит от того, как работает Kotlin, возможно, он пытается проверить, на какой версии JVM он работает, используя доступную реализацию (я предполагаю, что основывается на сообщении, которое вы опубликовали). Это предупреждение должно быть частью внутренней реализации proguard Android Studio, поэтому может наступить день, когда они вам больше не понадобятся (в прошлом такое случалось много раз).

MatPag 07.10.2018 19:05

Другие вопросы по теме