2014-12-29 6 views
1

После включения ProGuard я не могу подключиться к IMAPSSLStore. Вот немного от окна logcat:ProGuard java.lang.NoSuchMethodException

A0 OK Вот и все, что она написала! i1mb111841581wil
IMAP DEBUG: AUTH: XOAUTH
IMAP DEBUG: AUTH: XOAUTH2
IMAP DEBUG: AUTH: РАВНИНЫ
IMAP DEBUG: AUTH: льняной CLIENTTOKEN
DEBUG: protocolConnect Войти, хозяин = imap.gmail.com, user=user***@gmail.com, password =
IMAP DEBUG: Невозможно загрузить аутентификатор SASL: java.lang.NoSuchMethodException: [класс com.bbbai, класс java.lang.String, класс java.util .Properties, boolean, class java.io.PrintStream, класс java.lang.String]
A1 АУТЕНТИЧЕСКОЕ РАСПОЛОЖЕНИЕ + A1 NO [ALERT] Неверные учетные данные (Failure)
АВВ: [ALERT] Неверные учетные данные (Failure)

Мой Provider класс:

public static final class OAuth2Provider extends java.security.Provider { 
    private static final long serialVersionUID = 1L; 

    public OAuth2Provider() { 
     super("Google OAuth2 Provider", 1.0, 
       "Provides the XOAUTH2 SASL Mechanism"); 
     try { 
      put("SaslClientFactory.XOAUTH2", "com.company.app.OAuth2SaslClientFactory"); 
     } 
     catch (Exception e) 
     { 
      System.out.println("OAUTH2Provider error."); 
     } 


    } 
} 

В Proguard-project.txt я попробовал (вспомогательный класс является мой класс, где я подключиться к хранилищу):

-keep class com.company.app.HelperClass.** 
-keep class javax.security.sasl.** { *; } 
-keep class com.sun.mail.imap.IMAPSSLStore.** 
-keep class java.security.** { *; } 

Ничто не работает ....

Пожалуйста, помогите :)

p.s. извините, не знаю, как форматировать StackTrace лучше

+0

Вы можете попробовать перейти на [JavaMail 1.5.2] (https://java.net/projects/javamail/pages/Home), который включает [встроенную поддержку OAuth2] (https://java.net/ проекты/javamail/pages/OAuth2), чтобы узнать, помогает ли это. –

+0

Спасибо, но ответ был другой линией ProGuard (см. Ниже). – okkko

ответ

0

OAuth2SaslClientFactory это класс, я получил здесь: https://code.google.com/p/google-mail-oauth2-tools/source/browse/trunk/java/com/google/code/samples/oauth2/OAuth2SaslClientFactory.java?r=3

я должен был включать в себя Proguard линию

-keep class com.company.app.OAuth2SaslClientFactory 

среди других.

+0

Правильно, и если бы вы использовали более новую версию JavaMail, вам не понадобилось бы писать класс вообще. –

Смежные вопросы