不允许使用Proguard课程

时间:2014-10-11 16:43:14

标签: java android proguard

  • 编写Android应用程序。
  • 我有一个为Java 6编写的库 它使用了一些未包含在Android Framework中的Java类。
  • 我没有在我的应用中使用这些类,但我使用的是同一个jar中的其他类
  • :proguardRelease抱怨:

      

    警告:my.lib.Class:找不到引用的类java.foo.ClassNotInAndroid

  •   
  • 我不想重新打包/重写/拆分Java库
  •   
  我在Proguard中寻找禁用此警告的方法:

  1. 我知道我可以通过以下方式实现:

      

    -dontwarn my.lib.Class

      

    -dontwarn java.foo.ClassNotInAndroid

  2. 但与此同时,如果我意外地使用my.lib.Class,我希望构建能够中断,例如:

      

    -dontwarn java.foo.ClassNotInAndroid
      -dontallow my.lib.Class

  3. 基本上我正在寻找一种模仿方式的方法 事后-libraryjars mylibrary.jar(!my.lib.Class)会这样做。这是必需的,因为Gradle / Android SDK正在为我管理-libraryjars选项。

1 个答案:

答案 0 :(得分:1)

您的分析完全正确。 Android插件确实为您指定了所有-injars-libraryjars,我认为没有办法覆盖它。您最好的选择可能仍然是-dontwarn。您也可以将库拆分为一个普通的jar和一个只有Java-6的jar。