Programe a configuração ao usar o modelo do Google Cloud Endpoints do Android Studio

Precisamos armazenar e recuperar o conteúdo que os usuários geram com nosso aplicativo online. Para isso, decidimos usar o modelo integrado do Google Cloud Endpoints do Android Studio para criar rapidamente uma API (exemplo oficial de uso aqui)

Funciona bem na depuração, mas no modo release, com o Proguard ativado, falha. Pior ainda, não encontrei nenhuma documentação ou amostra sobre o uso do Proguard com os modelos de pontos de extremidade do Android Studio.

Depois de mais ou menos uma hora bisbilhotando e tentando fazê-lo funcionar, oproguard-rules.pro agora se parece com isso:

-keep class com.google.api.** { public *; }
-dontwarn com.google.api.**
-keep class com.google.common.** { public *; }
-dontwarn com.google.common.**

# Not allowed to post company and app names, but this line is correct in the real file
-keep class com.companyname.appname.application.backend.** { *; }

Com essa configuração, estou recebendo uma exceção de elenco de classe no meuArrayAdapter:

java.lang.ClassCastException: com.google.api.client.util.ArrayMap cannot be cast to com.companyname.appname.application.backend.messageApi.model.Message

Parece que a conversão dos dados retornados não é realizada em algum lugar e, em vez de umList doMessage objetos, eu recebo umList docom.google.api.client.util.ArrayMap objetos (eles contêm dados válidos, a propósito).

Eu poderia verificar se o aplicativo está sendo executado no modo de liberação e fazer a conversão manualmente, no entanto, é uma maneira hacky e eu prefiro fazê-lo corretamente. Então, alguém pode me dizer o que estou perdendo no arquivo de configuração Proguard?

questionAnswers(1)

yourAnswerToTheQuestion