Android, Proguard e Javamail

Primeiro, eu já me referi a um post semelhante,Android, javamail e proguard

A solução mencionada foi manter explicitamente o seguinte no proguard-project.txt:

-dontwarn java.awt.**
-dontwarn java.beans.Beans
-dontwarn javax.security.**

-keep class javamail.** {*;}
-keep class javax.mail.** {*;}
-keep class javax.activation.** {*;}

-keep class com.sun.mail.dsn.** {*;}
-keep class com.sun.mail.handlers.** {*;}
-keep class com.sun.mail.smtp.** {*;}
-keep class com.sun.mail.util.** {*;}
-keep class mailcap.** {*;}
-keep class mimetypes.** {*;}
-keep class myjava.awt.datatransfer.** {*;}
-keep class org.apache.harmony.awt.** {*;}
-keep class org.apache.harmony.misc.** {*;}

À primeira vista, isso pareceu funcionar, pois foi compilado sem nenhum aviso. No entanto, ele falha ao ler o conteúdo da mensagem e simplesmente passa por cima dela. Eu tentei o seguinte:

-includelibraryjars explicitamente nomeando os 3 arquivos jar necessários para o javamail.-removei os jars como uma biblioteca externa, seguindo o novo formato libs / include.-manteram as configurações padrão android no proguard-android.txt-seguiu o guia de solução de problemas no proguard faq.-iniciou um novo projeto e copiou os arquivos de origem para ele.-tried várias opções de proguard, incluindo -dontshrink, keepnames, etcprojeto -obsessivo / limpo

Depois de algumas horas de frustração, aqui está o que eu achei que parecia funcionar:

-dontobfuscate
-dontshrink
-keepdirectories
-keeppackagenames javax.mail.**
-keeppackagenames javax.activation.**
-keeppackagenames com.sun.mail.**
-keeppackagenames myjava.**
-keeppackagenames org.apache.harmony.**
-keeppackagenames mailcap.**
-keeppackagenames mimetypes.**
-keep class javamail.** {*;}
-keep class javax.mail.** {*;}
-keep class javax.activation.** {*;}

-keep class com.sun.mail.dsn.** {*;}
-keep class com.sun.mail.handlers.** {*;}
-keep class com.sun.mail.smtp.** {*;}
-keep class com.sun.mail.util.** {*;}
-keep class mailcap.** {*;}
-keep class mimetypes.** {*;}
-keep class myjava.awt.datatransfer.** {*;}
-keep class org.apache.harmony.awt.** {*;}
-keep class org.apache.harmony.misc.** {*;}

-dontwarn java.awt.**
-dontwarn java.beans.Beans
-dontwarn javax.security.**

É claro que isso é absurdo porque eu estou ligando - não ofuscar e - não enfiar. Qualquer guru proguard e javamail tem uma solução para isso? Eu sou ADT17, usando 2.1 (api7) para a compilação. Se eu pudesse excluir os frascos inteiramente do processo talvez? Qualquer conselho será uma dádiva de Deus neste momento.

questionAnswers(1)

yourAnswerToTheQuestion