首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Proguard和Kotlin-反射/Kotlin注释

Proguard和Kotlin-反射/Kotlin注释
EN

Stack Overflow用户
提问于 2017-05-24 14:43:16
回答 2查看 5.4K关注 0票数 17

找一些帮助谁让专业人士在前卫兵。

kotlin使用的注释反射(jackson模块所需的依赖项-kotlin v2.8.8)在升级到kotlin 1.1.2-3之后将被删除。proguard的错误是:Warning:kotlin.reflect.jvm.internal.impl.descriptors.CallableDescriptor: can't find referenced class org.jetbrains.annotations.ReadOnly

这种情况发生在一些注释上,而不仅仅是ReadOnly。我们尝试添加一个很好的ol‘catch all,但是错误仍然存在:

代码语言:javascript
复制
-keep class org.jetbrains.kotlin.** { *; }
-keep class org.jetbrains.annotations.** { *; }
-keepclassmembers class ** {
  @org.jetbrains.annotations.ReadOnly public *;
}

查看ReadOnly的源代码它是一个为@Documented@RetentionPolicy.CLASS@Target导入java.lang.annotations.*@interface

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-24 16:48:30

我们的解决办法是为反射警告添加dontwarn

代码语言:javascript
复制
-dontwarn kotlin.reflect.jvm.internal.impl.descriptors.CallableDescriptor
-dontwarn kotlin.reflect.jvm.internal.impl.descriptors.ClassDescriptor
-dontwarn kotlin.reflect.jvm.internal.impl.descriptors.ClassifierDescriptorWithTypeParameters
-dontwarn kotlin.reflect.jvm.internal.impl.descriptors.annotations.AnnotationDescriptor
-dontwarn kotlin.reflect.jvm.internal.impl.descriptors.impl.PropertyDescriptorImpl
-dontwarn kotlin.reflect.jvm.internal.impl.load.java.JavaClassFinder
-dontwarn kotlin.reflect.jvm.internal.impl.resolve.OverridingUtil
-dontwarn kotlin.reflect.jvm.internal.impl.types.DescriptorSubstitutor
-dontwarn kotlin.reflect.jvm.internal.impl.types.DescriptorSubstitutor
-dontwarn kotlin.reflect.jvm.internal.impl.types.TypeConstructor

这些注释存在于kotlin编译器中,这也是proguard找不到它们的原因。只需忽略警告,而不是将kotlin编译器添加为依赖项(正如此问题所暗示的Cannot resolve symbol @ReadOnly and @Mutable in Kotlin 1.1.0 compilation)。

这可能是kotlin中的一个bug;他们应该提供保护规则,以防止集成应用程序对其进行隐藏。

票数 8
EN

Stack Overflow用户

发布于 2017-10-10 18:53:35

或者更短的版本:

-dontwarn kotlin.reflect.jvm.internal.**

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44161717

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档