有没有任何方法可以指导Proguard(在Android上)保存中间jar



在遇到dreared dex方法限制错误的问题时,我一直在努力找到快速解决问题的方法。我的apk在使用proguard后被13k方法收缩,其中大部分来自我使用的库。以下是构建过程的相关输出(有些修改)。

    -obfuscate:
        [mkdir] Created dir: /bin/proguard
          [jar] Building jar: /bin/proguard/original.jar
     [proguard] ProGuard, version 5.0
     [proguard] Reading input...
     [proguard] Reading program jar [/libs/kryo-2.24.0.jar]
     [proguard] Reading program jar [/libs/jackson-databind-2.1.1.jar]
     [proguard] Reading program jar [libs/okhttp-1.1.0.jar]
     [proguard] Reading program jar [/libs/realm-0.72.0.jar]
     [proguard] Reading program jar [/libs/tape-1.1.0.jar]
     [proguard] Reading program jar [/libs/google-play-services.jar]
     [proguard] Reading program jar [/libs/AudienceNetwork.jar]
 [proguard] Initializing...
 [proguard] Ignoring unused library classes...
 [proguard]   Original number of library classes: 7170
 [proguard]   Final number of library classes:    1712
 [proguard] Printing kept classes, fields, and methods...
 [proguard] Shrinking...

有没有什么方法可以指导Proguard for Android在收缩后,但在它们被aapt打包成一个巨大的blob之前,保存中间jar(这些库的收缩版本,符合我的代码需求,具有所使用的一组功能,仅此而已)?

您可以创建Google Play Services的自定义缩小版本,这可能足以避免65K方法ID的限制。我在Droidcon London 2014关于创建较小应用程序的演示中包含了一些可能的ProGuard配置,以创建这样一个缩小的库。

相关内容

  • 没有找到相关文章

最新更新