【问题标题】:Android Library project OkHttp3 proguardAndroid 库项目 OkHttp3 proguard
【发布时间】:2018-02-16 10:47:11
【问题描述】:

我有一个带有库项目模块的 android 项目,我在其中使用带有 OkHttp3 的 Retrofit 来执行 API 请求。我需要使用 Proguard 来混淆项目,但是当我这样做时,在尝试构建签名的 apk 时,我会收到大量与 OkHttp 相关的错误:

can't find referenced class javax.annotation.Nullable
can't find referenced class javax.annotation.ParametersAreNonnullByDefault

我已尝试在主应用程序和库项目 Proguard 文件中遵循规则,但似乎没有任何效果:

 -dontwarn javax.annotation.Nullable
 -dontwarn javax.annotation.ParametersAreNonnullByDefault

任何帮助将不胜感激。

【问题讨论】:

    标签: android proguard okhttp3 android-proguard


    【解决方案1】:

    经过大量搜索,我在 GitHub 上的评论中找到了答案:https://github.com/square/retrofit/issues/117

    我不得不使用:

     buildTypes {
            release {
                debuggable false
                minifyEnabled false
                useProguard true
                consumerProguardFiles 'proguard-rules.pro'
            }
        }
    

    然后我在模块的 proguard 文件中设置了规则,它没有任何问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-10
      • 2015-08-29
      • 2014-09-19
      相关资源
      最近更新 更多