#java #android #kotlin #proguard
#Ява #Android #котлин #прогард
Вопрос:
Мое приложение не использует Kotlin, но некоторые из моих зависимостей используют. С включенной функцией Proguard приложение завершает работу с
12-02 16:59:47.539 1270 1502 E AndroidRuntime: java.lang.AssertionError: Built-in class kotlin.Any is not found 12-02 16:59:47.539 1270 1502 E AndroidRuntime: at kotlin.reflect.jvm.internal.impl.builtins.KotlinBuiltIns$3.invoke(KotlinBuiltIns.java:113) 12-02 16:59:47.539 1270 1502 E AndroidRuntime: at kotlin.reflect.jvm.internal.impl.builtins.KotlinBuiltIns$3.invoke(KotlinBuiltIns.java:108)
При проверке APK с помощью распаковки обнаруживается, kotlin
что папка в корневом каталоге APK отсутствует при включении Proguard. Я настроил Proguard так, чтобы он не удалял никакие файлы
-dontobfuscate -dontoptimize -dontshrink -addconfigurationdebugging -dontpreverify -dontwarn *** -keep class *** { *** *; lt;methodsgt;; lt;initgt;(...);} -keep interface *** { *** *; } -keep @interface *** { *** *; } -keep enum *** { *** *; } -keepattributes *** -optimizations !code/simplification/arithmetic,!code/simplification/cast,!code/allocation/variable,!field/*,!class/merging/*,!method/removal/*,!class/unboxing/enum
APK без Proguard содержит еще несколько папок, таких как «kotlin», «com», «edu», «java», но с Proguard все эти каталоги удаляются.
Я также пробовал использовать -keepdirectories
опцию в конфигурации Proguard, но возникает та же проблема
Любая помощь будет признательна