【问题标题】:Proguard keep by source file pathProguard 按源文件路径保存
【发布时间】:2016-06-30 19:19:38
【问题描述】:

Proguard 具有-keep-ing 一个基于其包名称/层次结构的类的选项。

是否可以根据源文件的实际路径-keep

例子:

java/com/a/b/c/Class.java 包含package com.a.b.c.Class tests/com/a/b/c/ClassTest.java 包含 package com.a.b.c.ClassTest

可能有大量“*Test”类,我想保护-keep tests/* 下的所有内容以进行测试。它不应该在tests/* 目录之外保留任何碰巧匹配“*Test”的类。

包匹配似乎无法做到这一点,因为它与java/*下的那些类具有相同的包

【问题讨论】:

    标签: proguard android-proguard


    【解决方案1】:

    不,这是不可能的。 ProGuard 在应用规则时不考虑文件路径。

    你可以为你的测试类使用注解,例如

    @TestClass
    public class MyTest {
       ...
    }
    

    然后添加这样的配置:

    -keep @TestClass class * { *; } 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-28
      • 1970-01-01
      相关资源
      最近更新 更多