Android 库项目 OkHttp3 proguard

Android Library project OkHttp3 proguard

我有一个带有库项目模块的 android 项目,我在其中使用 Retrofit 和 OkHttp3 来执行 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

如有任何帮助,我们将不胜感激。

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

我必须使用:

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

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