Gradle 在clean generate版本上找不到符号

Gradle 在clean generate版本上找不到符号,gradle,gson,proguard,retrofit2,android-proguard,Gradle,Gson,Proguard,Retrofit2,Android Proguard,我正在创建一个外部模块,或者应该说是一个现有移动项目应用程序库,因为我无法调整其内部(代码、配置等) 这个库的唯一用途就是执行API调用(即在服务器和客户端项目(app)之间接受和返回数据),它在开发中工作得非常好,但是当我试图以这种方式构建库时 gradlew clean build generateRelease --stacktrace 我在stacktrace上有这样的错误 error: cannot find symbol @SerializedName("FirstName")

我正在创建一个外部模块,或者应该说是一个现有移动项目应用程序库,因为我无法调整其内部(代码、配置等)

这个库的唯一用途就是执行API调用(即在服务器和客户端项目(app)之间接受和返回数据),它在开发中工作得非常好,但是当我试图以这种方式构建库时

gradlew clean build generateRelease --stacktrace
我在stacktrace上有这样的错误

 error: cannot find symbol
 @SerializedName("FirstName")
 ^
我发现改造确实有好处

  minifyEnabled true
然后我学习了一些有关proguard规则的知识 ,使用来自不同来源和不同测试的这些线

 -keep class com.google.code.gson.** { *; }
 -keep class com.google.code.gson.annotations** { *; }
 -keep class retrofit2.** { *; }

 -keepclassmembernames interface * {
     @retrofit.http.* <methods>;
 }

 -keep class retrofit2.** { *; }
 -keepclassmembernames interface * {
     @retrofit2.http.* <methods>;
 }

 -keep class sun.misc.Unsafe { *; }
 -keep class com.google.code.gson.stream.** { *; }

 -keepattributes Signature
 -keepattributes *Annotation*

对我来说,在将以下内容添加到proguard文件后,您的项目已成功构建,并启用了缩小功能:

-dontwarn okio.**
-dontwarn retrofit2.Platform$Java8

是的,我试着在bintary中上传它,并将其作为二进制文件使用,它工作得非常好,感谢您的回答和proguard所需的代码,它真的消除了我的疑虑。
-dontwarn okio.**
-dontwarn retrofit2.Platform$Java8