kotlin - 启用 proguard 后无法访问 kotlin 类中使用的伴随对象
问题描述
我有一个 Kotlin 类,伴随对象中有一些变量。启用 proguard 后,变量不会被访问。
class Test{
......
companion object {
const val USER_NAME = "user_name"
.....
}
.....
}
Proguard 规则包括:-
-keep class kotlin.** { *; }
-keep class kotlin.Metadata { *; }
-dontwarn kotlin.**
-keepclassmembers class **$WhenMappings {
<fields>;
}
-keepclassmembers class kotlin.Metadata {
public <fields>;
public <methods>;
}
-keepclassmembers class * {
static final % *;
static final java.lang.String *;
}
解决方案
@Keep
在伴随对象之前使用解决的问题
class Test{
......
@Keep companion object {
const val USER_NAME = "user_name"
.....
}
.....
}
推荐阅读
- delphi - 德尔福通用控制可能吗?
- angularjs - 寻找一个自动运行 Protractor 自动化的好工具
- azure - 天蓝色流分析 System.Timestamp 以 BST 格式
- javascript - if 语句中的几个 sendReponse 由于 indexOf 错误而无法运行
- python - Python追加到数组和for循环
- java - 来自java spring中嵌入redis的ERR未知命令'GEOADD'
- javascript - React Native 中显示活动指示器时如何锁定所有屏幕的触摸?
- postgresql - Postgres(10.3) 权限问题
- php - 拆分平均评论 php
- java - 如何分析在 Cloud Foundry 上运行的 Spring Boot Web 应用程序的内存?