当前位置: 首页 > 知识库问答 >
问题:

ProGuard

柯凯旋
2023-03-14

打开ProGuard后,我无法连接到IMAPSSLStore。以下是logcat窗口中的一些内容:

好吧,她写的就是这些!I1MB111841581WIL
IMAP Debug:auth:xoauth
IMAP Debug:auth:PLAIN
IMAP Debug:auth:PLAIN
IMAP Debug:auth:PLAIN-clienttoken
Debug:protocolConnect登录,host=IMAP.gmail.com,user=user***@gmail.com,password=
IMAP Debug:不能加载SASL Authenticator:java.lang.nosuchMethodException:[类com.b.b.b.a.i,1验证普通身份+
A1无[警报]无效凭据(失败)
A.B.B:[警报]无效凭据(失败)

我的提供程序类:

 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中,我尝试了(HelperClass是我连接到商店的类):

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

什么都不管用...

共有1个答案

易流觞
2023-03-14

我必须包括护卫线

-keep class com.company.app.OAuth2SaslClientFactory

除其他外。

 类似资料:
  • 问题内容: 我的应用程序在没有启用proguard的情况下可以完美运行,但是当我启用它时,该应用程序立即崩溃。我尝试了配置中的许多组合都无济于事。 有什么我应该保留的东西,我丢失了吗? proguard配置:https : //gist.github.com/hanleyhansen/99fc07807950bae8e4f5 完整的日志:https ://gist.github.com/hanle

  • 问题内容: 我们正在开发一个桌面应用程序。使用以下配置标志在代码上运行ProGuard(版本5.3.3)时: Proguard出现以下错误: 如果将标志-dontpreverify添加到配置,则构建将成功。但是,在运行jar文件时,我们将收到以下错误: 通过使用JVM标志-noverify可以避免这种情况。 如果可能,我们希望避免使用这些“不验证”标志。 注意:即使添加时也会发生构建错误 问题答案

  • 问题内容: 我有一个下面给出文件的项目。当我发出命令时,我希望Maven生成一个JAR,其中包含 所有的依赖和 我的代码的混淆版本。 它不起作用-我的代码未在“ jar-with-dependencies”文件中进行混淆。 当我运行时,结果文件包含我的应用程序的混淆代码,但没有依赖关系。 为了使JAR文件具有所有依赖关系和混淆代码,我该怎么办? 更新1(17.01.2016 19:54 MSK):

  • 问题内容: 我想为我的应用程序启用,在ProGuard文档中它说,我必须修改的地方会自动生成。但是,如果我查看项目文件夹,则只会看到一个文件,但看不到所需的文件。 我如何获得此proguard.cfg?还是我做错了? 请引导我使用此文件。 问题答案: 该文档有点不准确。生成的文件将位于项目的根目录中。 要启用,您将需要忽略中的警告并取消注释以下行: Android工具链有时会更改,但是您的路径将被

  • 问题内容: 我刚刚使用了proguard,但是我尝试通过反射实例化的类却无法正常工作。 我有一个界面 我通过这样的课程 像这样实例化该类 这是我的proguard.cnf 问题答案: 解决了 对于其他遇到此问题的人,您需要在proguard.cnf中添加以下内容 第一个保留项告诉Proguard不要混淆扩展YourClassName的类名 第二个说保持构造函数名称(意思是构造函数)不混淆,它只有一

  • 问题内容: 我正在使用Android Studio v.1.0我的构建文件: 但是,当我尝试进行发行版本构建时,出现错误:错误:任务’:app:proguardRelease’的执行失败。 java.io.FileNotFoundException:F:.... \ app \ proguard-rules.pro(未找到文件) 我认为,proguard-android.txt是Android S

  • 问题内容: 我目前正在尝试混淆一系列库。我的基础库包含几个使用类型参数的类和方法,由于Proguard混淆消除了类型参数,其他代码无法使用我的基础库。消除混淆消除了这些问题。我已经阅读了所有ProGuard使用文档,示例和故障排除信息,但无法找到有关如何处理类型参数或ProGuard剥离类型参数的任何文档。 构造函数类型参数问题: 库1包含以下类: 库2包含几个扩展上述类的类,但构造函数会引发编译

  • 问题内容: 当Proguard重命名/重新打包类时,似乎并没有尝试避免与库JAR中的类命名冲突。这是正确的,还是我配置不正确? 我混淆了使用最新的Google AdMob SDK的Android应用程序。以前,我使用旧的AdMob SDK没问题。新的SDK JAR文件包含一些已被混淆的类。这些类之一在默认/未命名包中。当我混淆我的应用程序时,尽管将AdMob JAR作为库JAR读取(尽管它应该引起