Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Don';不允许使用带有Proguard的类_Java_Android_Proguard - Fatal编程技术网

Java Don';不允许使用带有Proguard的类

Java Don';不允许使用带有Proguard的类,java,android,proguard,Java,Android,Proguard,编写Android应用程序 我有一个为Java6编写的库 它使用了一些未包含在Android框架中的Java类 我没有在我的应用程序中使用这些类,但我使用同一个jar中的其他类 :proguardRelease投诉: 警告:my.lib.Class:找不到引用的类java.foo.ClassNotInAndroid 我不想重新打包/重写/拆分Java库 我正在Proguard中寻找禁用此警告的方法: 我知道我可以通过以下方式实现: -dontwarn my.lib.Class 或 -dontw

  • 编写Android应用程序
  • 我有一个为Java6编写的库 它使用了一些未包含在Android框架中的Java类
  • 我没有在我的应用程序中使用这些类,但我使用同一个jar中的其他类
  • :proguardRelease
    投诉:

    警告:my.lib.Class:找不到引用的类java.foo.ClassNotInAndroid
  • 我不想重新打包/重写/拆分Java库
我正在Proguard中寻找禁用此警告的方法:

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

    -dontwarn my.lib.Class

    -dontwarn java.foo.ClassNotInAndroid

  • 但同时,如果我不小心使用了
    my.lib.Class
    ,我希望构建中断,类似于:

    -dontwarn java.foo.classnotinadroid

    -不显示my.lib.Class

  • 本质上,我在寻找一种方法来模仿
    我会在事后做的。这是必需的,因为Gradle/Android SDK正在为我管理
    -libraryjars
    选项。

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

    实现此功能的任何计划?在Android插件(Gradle、Ant、Eclipse)中支持用户指定的ProGuard过滤器将取决于Android团队……我知道,我的意思是在类包含在
    -libraryjars
    中之后,添加
    -dontallow
    或类似的选项以排除类。我认为添加另一个仅复制现有功能的选项是不可取的。好的,谢谢,我有点同意。这让我很烦;)