【问题标题】:Stuck with proguard while migrating from Retrofit 2.0.0 beta4 to 2.0.1从 Retrofit 2.0.0 beta4 迁移到 2.0.1 时卡住了 proguard
【发布时间】:2016-04-12 07:35:33
【问题描述】:

我试图从 Retrofit 2.0.0-beta4 迁移到 2.0.1,但 proguard 文本中显示了一个错误。 我添加的文本是:

-不要警告改造2。
-keep class retrofit2.** { *; }
-keepattributes 签名
-keepattributes 例外
-keepclasseswithmembers class * {@retrofit2.http.*;} (第 31 行)

当我尝试发布版本时遇到的错误是 proguard 文本缺少某些内容,文本如下:

警告:处理任务时出现异常 java.io.IOException: proguard.ParseException: Expecting java type before ';'在文件“/Users/abc/Downloads/xyz/app/proguard-rules.pro”的第 31 行
:app:transformClassesAndResourcesWithProguardForRelease 失败

错误:任务 ':app:transformClassesAndResourcesWithProguardForRelease' 执行失败。 java.io.IOException:proguard.ParseException:在“;”之前需要 java 类型在文件'/Users/ABC/Downloads/XYZ/app/proguard-rules.pro'的第31行

【问题讨论】:

  • 我遇到了同样的问题并返回到 1.* 改造。我认为 2.* 还远未稳定。
  • 您的第一行有错字。我认为应该是 -dontwarn 改造。**

标签: android performance retrofit2 android-proguard


【解决方案1】:

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

-dontwarn retrofit2.**
-keep class retrofit2.** { *; }
-keepattributes Signature
-keepattributes Exceptions

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

【讨论】:

    猜你喜欢
    • 2018-03-12
    • 2015-10-16
    • 1970-01-01
    • 2017-03-24
    • 2019-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-18
    相关资源
    最近更新 更多