对于我的Android仪器测试,我需要一些额外的入口点到我的课。这些方法并未在实际应用中使用。我的想法是用test_
开始他们,并有一个通用的规则,排除他们优化。这是我得到了多少:如何保持我的测试方法与proguard.cfg
-keepclassmembers class com.xxx.**.* {
public ** test_*();
public ** test_* (**);
public static ** test_*();
public static ** test_* (**);
}
但它仍然无法正常工作。 public static void test_destroy (final android.content.Context context)
和private void dropTables (final SQLiteDatabase db)
刚刚从代码中删除。我不知道为什么。
如何正确使用通配符模式?
请注意,你必须要小心,您所使用的@VisibleForTesting注释是在.class文件可用。例如,android.support.annotations.VisibleForTesting具有SOURCE的RetentionPolicy,所以它不会被保留,因此不能被proguard使用。 – 2015-09-10 07:34:03