按源文件路径进行保护



Proguard有基于包名/层次结构的-keep -ing类的选项。

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

的例子:

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

可能有大量的"*测试"类,我想保护-keep下的tests/*的一切用于测试目的。它不应该在tests/*目录之外保留任何碰巧匹配"*Test"的类。

这似乎不可能与包匹配,因为它与java/*

下的那些类具有相同的包

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

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

@TestClass
public class MyTest {
   ...
}

,然后添加如下配置:

-keep @TestClass class * { *; } 

最新更新