【问题标题】:Can't enable Proguard on Android project containing jsch lib无法在包含 jsch lib 的 Android 项目上启用 Proguard
【发布时间】:2016-04-23 22:09:32
【问题描述】:

我正在尝试使用 Proguard 来混淆我的 Android 应用程序,该应用程序利用库 jsch-1.50.jar 将文件上传到 SFTP 服务器。

当我从 Eclipse 进行导出时,我收到“无法引用类”的警告,并且没有生成任何内容。我已经尝试了各种选项来告诉 Proguard 忽略 jsch 类,但这没有任何区别,因此我想知道我是否误解了它是如何工作的。我不太担心优化,但我希望代码被混淆。

我已将 proguard-properties 设置如下:

-keep class com.jcraft.jsch.jce.*
-keep class * extends com.jcraft.jsch.KeyExchange
-keep class com.jcraft.jsch.**
-keep class com.jcraft.jzlib.ZStream
-keep class com.jcraft.jsch.Compression
-keep class org.ietf.jgss.*

-libraryjars /libs/jsch-0.1.50.jar

项目属性文件包含“proguard.config=proguard-project.txt”条目。

删除重复项的导出输出:-

Warning: com.jcraft.jsch.jcraft.Compression: can't find referenced class com.jcraft.jzlib.ZStream
Warning: com.jcraft.jsch.jgss.GSSContextKrb5: can't find referenced class org.ietf.jgss.Oid
Warning: com.jcraft.jsch.jgss.GSSContextKrb5: can't find referenced class org.ietf.jgss.GSSManager
Warning: com.jcraft.jsch.jgss.GSSContextKrb5: can't find referenced class org.ietf.jgss.GSSException
Warning: com.jcraft.jsch.jgss.GSSContextKrb5: can't find referenced class org.ietf.jgss.GSSContext
Warning: com.jcraft.jsch.jgss.GSSContextKrb5: can't find referenced class org.ietf.jgss.MessageProp
Warning: there were 44 unresolved references to classes or interfaces.
You may need to specify additional library jars (using '-libraryjars').
Error: Please correct the above warnings first.

非常感谢任何指点。

谢谢 迈克

【问题讨论】:

    标签: android proguard


    【解决方案1】:

    经过一番调查,我发现了以下...

    我忘记在项目中包含相应的jzlib-1.1.1.jar

    -libraryjars /libs/jzlib-1.1.1.jar
    

    proguard-properties.txt 中的条目。

    为了忽略对“class org.ietf.jgss”的引用的警告,我尝试了排除引用类的建议方法

    -libraryjars /libs/jsch-0.1.50.jar(!com.jcraft.jsch.jgss/GSSContextKrb5.class)
    

    但这并没有帮助。最后,我选择了:-

    -dontwarn org.ietf.jgss.**
    

    【讨论】:

    • 谢谢。不知道你是怎么想出这一切的,但它似乎确实有效。
    猜你喜欢
    • 1970-01-01
    • 2014-09-19
    • 1970-01-01
    • 2014-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-12
    • 2014-07-25
    相关资源
    最近更新 更多