filter - proguard 多个 injar 到多个 outjar : The output jar must have a filter, 或所有后续输出 jar 将为空

标签 filter proguard

如何混淆多个 jar,并写入不同的 jar。每个 jar 都有 java 类和资源。

-injars foo.jar
-injars bar.jar

-outjars foo1.jar
-outjars bar1.jar

错误:

 The output jar must have a filter, or all subsequent output jars will be empty. 

如何指定过滤器?如何指定一对一映射?即

foo.jar -> foo1.jar
bar.jar -> bar1.jar

最佳答案

每个 outjars 规则将输出从其之前的 injars 规则读取的所有类(位置很重要)。因此,如果您想将多个 jar 输出到多个输出,您可以执行以下操作:

-injars foo.jar
-outjars foo1.jar

-injars bar.jar
-outjars bar1.jar

foo.jar 中的所有类最终都会出现在 foo1.jar 中,而 bar.jar 中的所有类都会出现在 bar1.jar 中(当然,除非它们被缩小或优化)。

编辑:其他解决方案将包含如下过滤器:

-injars foo.jar
-injars bar.jar
-outjars foo1.jar(com/foo/**)
-outjars bar1.jar(com/bar/**)

只有与过滤器匹配的类才会出现在相应的 outjar 中,但您需要小心过滤器以包含 foo.jar 内的所有内容。

关于filter - proguard 多个 injar 到多个 outjar : The output jar must have a filter, 或所有后续输出 jar 将为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49224360/

相关文章:

ElasticSearch post_filter 和过滤聚合的行为不同

java - 过滤掉数组中的整数

android - 在处理 Proguard、MultiDex、Testing 和 Product Flavors 时有什么好的策略?

android - 如何为android数据绑定(bind)点击监听器编写proguard规则?

android - Gradle 5.1.1更新打破了我在Android中的proguard规则

scala - 如果集合中存在列,则过滤 spark/scala 数据框

python - 如何使用 Python 脚本从 CSV 文件中过滤

filter - SEO,我是否应该出于 SEO 目的操纵我网站上显示的 URI?

android - Proguard 返回错误 1 ​​- 项目 bin 文件夹中没有 proguard.txt 文件?

android - 如何将 Proguard 混淆模块导入 Android Studio?