Proguard按源文件路径保留

时间:2015-09-28 16:26:56

标签: proguard android-proguard

Proguard根据其包名/层次结构为-keep提供了一个选项。

是否可以-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

可能会有大量的" *测试"类和我想要-keep tests/*下的所有内容用于测试目的。它不应该保留任何匹配的类别" *测试"在tests/*目录之外。

由于它与java/*

下的类具有相同的包,因此看起来不可能使用包匹配

1 个答案:

答案 0 :(得分:1)

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

您可以为测试类使用注释,例如

@TestClass
public class MyTest {
   ...
}

然后添加如下配置:

-keep @TestClass class * { *; }