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()
請提供更多的信息,例如你嘗試過哪些規則,這是如何工作的,你得到了什麼錯誤等。 –