Proguard删除com.sun.mail.imap.IMAPProvider [英] Proguard removes com.sun.mail.imap.IMAPProvider

查看:110
本文介绍了Proguard删除com.sun.mail.imap.IMAPProvider的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的应用程序中,我将电子邮件发送到某个特定的地址,一切正常,但是当使用ProGuard进行混淆,缩小等操作时,它会失败

In my app I send emails to some specific address, it all works fine, but when it comes to obfuscation, shrinking, etc with ProGuard it fails

我尝试添加一些不起作用的ProGuard规则

I've tried adding some ProGuard rules, which didn't work

那是我的ProGuard

That's my ProGuard

-keepclassmembernames class com.sun.mail.imap

2019-08-08 14:29:26.811 11724-12675/? E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #5
    Process: com.redegrow.besttaxi, PID: 11724
    java.lang.RuntimeException: An error occurred while executing doInBackground()
        at android.os.AsyncTask$3.done(AsyncTask.java:354)
        ...
     Caused by: java.util.ServiceConfigurationError: e.b.r: Provider com.sun.mail.imap.IMAPProvider not found
        at java.util.ServiceLoader.fail(ServiceLoader.java:233)
        at java.util.ServiceLoader.access$100(ServiceLoader.java:183)
        at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:373)
        at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:416)
        at java.util.ServiceLoader$1.next(ServiceLoader.java:494)
     ...
     Caused by: java.lang.ClassNotFoundException: com.sun.mail.imap.IMAPProvider
     ...
     Caused by: java.lang.ClassNotFoundException: Didn't find class "com.sun.mail.imap.IMAPProvider" on path: DexPathList[[zip file "/data/app/com.redegrow.besttaxi-_Kl-yVNRgbmmwzLXuKKmWQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.redegrow.besttaxi-_Kl-yVNRgbmmwzLXuKKmWQ==/lib/arm64, /system/lib64, /vendor/lib64]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
       ...

推荐答案

好,我找到了解决方案.不好,但是至少可以用

Well, I found the solution. It's not great, but at least it works

-keep class com.sun.mail.imap.IMAPProvider
-keep class com.sun.mail.imap.IMAPSSLProvider
-keep class com.sun.mail.smtp.** {*;}

这篇关于Proguard删除com.sun.mail.imap.IMAPProvider的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆