如何使用proguard牙签规则?

我在我的项目中使用TP。
我正在使用TP注入一些对象。 但是当我在应用程序中使用proguard规则时。 它在调试模式下工作正常但是在释放模式下给出null对象,所有通过@Inject注解注入的对象。

One Solution collect form web for “如何使用proguard牙签规则?”

我在这个项目中工作,除了问题#146以外,还需要添加更多的东西。 有一个来自android支持注释库的@Keep注解设置,可以用来标记一个类不被混淆,我必须在一些kotlin数据类上做这个改造,而kotlin-reflect库不能播放混淆很好。 无论如何,要点可以在这里find。 另外,你可能要特别的告诉它不要在你生成的非reflectionregistry和工厂实现的包中生成的FactoryRegistry类中的任何东西混淆。

# Note that if we could use kapt to generate registries, possible to get rid of this -keepattributes Annotation # Do not obfuscate classes with Injected Constructors -keepclasseswithmembernames class * { @javax.inject.Inject (...); } # Do not obfuscate classes with Injected Fields -keepclasseswithmembernames class * { @javax.inject.Inject ; } # Do not obfuscate classes with Injected Methods -keepclasseswithmembernames class * { @javax.inject.Inject ; } -keep @android.support.annotation.Keep class * -keep @javax.inject.Singleton class * -dontwarn javax.inject.** -dontwarn javax.annotation.** -keep class **$$Factory { *; } -keep class **$$MemberInjector { *; } -adaptclassstrings -keep class toothpick.** { *; } 
  • 让我们也来申请,如果在Kotlin拿走了一些未知的东西
  • Java / Android / Kotlin:关于私人领域的反思和调用公共方法
  • 一次性将整个android项目移植到kotlin是否安全?
  • 如何使用界面android在适配器中创建onclick事件?
  • Android Studio 3.1 Canary 3 - Gradle项目同步失败
  • Kotlin - 重写方法中的IllegalArgumentException
  • lateinitVar无法解析使用从Kotlin 1.2.10 isInitialized
  • Android Studio在layout.xml中显示错误
  • Kotlin如何与Java和JavaScript互操作?
  • kotlin是function性的还是程序性的?
  • 如何使用Kotlin在共享首选项中存储数据类对象?
  • Kotlin language will be the best programming language for Android.