【问题标题】:How can I import Proguard obfuscated module into Android Studio?如何将 Proguard 混淆模块导入 Android Studio?
【发布时间】:2016-05-18 21:05:06
【问题描述】:

我写了一个不希望用户看到源代码的 java 库。因此,我使用 proguard 将 java 库混淆为调试和发布 AAR。我正在尝试通过将其作为 AAR 文件导入来测试演示项目中的混淆。当我导入发布 AAR 文件时,一切都被混淆了,我什至无法解析符号。

有什么方法可以混淆源代码但允许将 AAR 导入另一个项目?类似于 iOS 中的静态库/框架。

谢谢

【问题讨论】:

    标签: android gradle proguard android-proguard


    【解决方案1】:

    对于那些由应用程序使用您的库从外部访问的类,您必须确保类名和方法保持“原样”。

    例如,要保留由外部应用程序使用的类声明的所有公共方法和变量,请将以下内容添加到您的 proguard-project.txt 文件中:

    -keep public class com.your.class {public *;}
    

    更多信息请参见here

    【讨论】:

    • 感谢您的快速回复。我得到了混淆工作!最后一件事是我正在为我使用的一些外部库获得java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/common/hash/Hashing;。我试过-keep public class com.google.common.** { public *; },但它似乎不起作用。
    • 尝试添加这个-keepattributes Exceptions,InnerClasses,Deprecated,EnclosingMethod
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-14
    • 2022-01-24
    • 2016-05-10
    • 1970-01-01
    • 2018-11-28
    相关资源
    最近更新 更多