簡體   English   中英

啟用Proguard后收到警告和錯誤

[英]Getting warnings and errors after enabling proguard

我為發布版本啟用了proguard,並且在運行項目時收到這些警告和錯誤 這是我的buildTypes塊:

buildTypes {
        release {
            minifyEnabled true
            //shrinkResources true
            signingConfig signingConfigs.myConfig
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

構建消息太長,無法在此處發布,因此已放置外部鏈接。 這些警告的原因是什么? 我做錯了什么嗎? 我怎樣才能解決這個問題?

警告中提到的每個庫都有其自己的proguard規則,您必須將它們放在proguard-rules.pro中。 例如,您可以在http://jakewharton.github.io/butterknife/ “ Proguard”部分中找到ButterKnife的規則。

對於您正在使用的任何外部庫,您需要在proguard.pro文件中添加規則。

例如,在我的項目中,這些是我為改造和okhttp添加的proguard規則

# Retrofit 1.X

-keep class com.squareup.okhttp.** { *; }
-keep class retrofit.** { *; }
-keep interface com.squareup.okhttp.** { *; }

-dontwarn com.squareup.okhttp.**
-dontwarn okio.**
-dontwarn retrofit.**
-dontwarn rx.**

-keepclasseswithmembers class * {
    @retrofit.http.* <methods>;
}

這些規則取自

https://github.com/krschultz/android-proguard-snippets/blob/master/libraries/proguard-square-retrofit.pro

因此,您需要類似地檢查每個庫要添加的規則。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM