Android, Proguard и Javamail

Прежде всего, я уже ссылался на аналогичный пост,Android, javamail и proguard

Упомянутое решение состояло в том, чтобы явно сохранить следующее в 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.** {*;}

На первый взгляд, это сработало, так как собиралось без каких-либо предупреждений. Однако он не может прочитать содержимое сообщения и просто пропускает его. Я пробовал следующее:

-includelibraryjars explicitly naming the 3 jar files required for javamail. -removed the jars as an external library, following the new libs/ include format. -maintained the default android settings in proguard-android.txt -followed the troubleshooting guide in the proguard faq. -started a new project and copied over the source files to it. -tried various proguard options, including -dontshrink, keepnames, etc -obsessive project/clean

После нескольких часов разочарования я обнаружил, что это работает:

-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.**

Конечно, это абсурдно, потому что я включаю -dontobfuscate и -dontshrink. У любого гуру proguard и javamail есть решение этой проблемы? Я ADT17, используя 2.1 (api7) для сборки. Если бы я мог полностью исключить банки из процесса? Любой совет будет находкой на данный момент.

Ответы на вопрос(1)

Ваш ответ на вопрос