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 文件中设置规则,它没有任何问题地工作。
我有一个带有库项目模块的 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 文件中设置规则,它没有任何问题地工作。