31
A
回答
30
你不需要做任何特别的事情。 Kotlin开箱即用ProGuard。但是在使用ProGuard处理应用程序时可能会遇到一些奇怪的错误。在这种情况下,只需添加
-dontwarn kotlin.**
此外,如果你想在运行时,你可以使用以下规则来摆脱null检查:
-assumenosideeffects class kotlin.jvm.internal.Intrinsics {
static void checkParameterIsNotNull(java.lang.Object, java.lang.String);
}
9
在科特林1.0.2 EAP的ProGuard剔除时映射枚举,所以我必须明确地保留它们,所以
-keepclassmembers class **$WhenMappings {
<fields>;
}
对于正确的混淆是足够的。但如果你想要一些性能改进,你还可以添加
-assumenosideeffects class kotlin.jvm.internal.Intrinsics {
static void checkParameterIsNotNull(java.lang.Object, java.lang.String);
}
0
检查您gardle是否包含
实施 “org.jetbrains.kotlin:科特林-STDLIB-jre7:$ kotlin_version”
5
-keep class kotlin.** { *; }
-keep class kotlin.Metadata { *; }
-dontwarn kotlin.**
-keepclassmembers class **$WhenMappings {
<fields>;
}
-keepclassmembers class kotlin.Metadata {
public <methods>;
}
-assumenosideeffects class kotlin.jvm.internal.Intrinsics {
static void checkParameterIsNotNull(java.lang.Object, java.lang.String);
}
的gradle构建:
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
1
你可以配置你的build.gradle文件来执行proguard。它可以在模块级或项目级。
buildTypes {
debug {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
所示的配置是调试水平,但你可以写你自己建立的味道像图所示内buildTypes:
myproductionbuild{
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
更多infromation请点击这里http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Running-ProGuard
相关问题
- 1. Proguard和Kotlin-Reflect/Kotlin注释
- 2. 如何使用Proguard?
- 3. 如何使用Maven和ProGuard混淆webapp
- 4. 如何混淆使用ProGuard
- 5. Kotlin,proguard,Android的体系结构组件
- 6. Kotlin AAR库w/proguard:如何保持扩展方法?
- 7. Proguard的Android和使用JSON
- 8. 如何使ProGuard Maven插件使用最新的ProGuard版本?
- 9. SparkJava使用Kotlin和WebSockets
- 10. 在使用ProGuard
- 11. 如何在Android 2.3中使用proguard
- 12. 如何使用IntelliJ IDEA 12配置Proguard?
- 13. 如何使用Android PropertyValuesHolder与proguard
- 14. 如何在NetBeans 6.7/6.8中使用ProGuard?
- 15. 如何使用Proguard和SBT混淆脂肪Scala Jar
- 16. ProGuard - 如何正确使用Android?要保留哪些类和库?
- 17. 如何使用kotlin中的androidannotations库?
- 18. 如何在Kotlin中使用组合键?
- 19. 的Android,使用ProGuard和系列化
- 20. 在Android上使用Jodd和proguard
- 21. 使用proguard混淆
- 22. 如何使用Gradle构建Google协议缓冲区和Kotlin?
- 23. 如何在kotlin中使用@link和@code kDoc
- 24. 使用proguard和GSON和RoboGuice在使用EnumTypeAdapter时失败
- 25. 如何调试proguard
- 26. 如何proguard android jar
- 27. Android,Scala和Proguard
- 28. Flexjson和Dexguard/Proguard
- 29. Proguard的和Android :(
- 30. Proguard和getSimpleName()
请提供更多的信息,例如你尝试过哪些规则,这是如何工作的,你得到了什么错误等。 –