删除TestFlight SDK与ProGuard的使用

时间:2014-01-27 14:15:57

标签: android proguard testflight

如何从我的应用中自动删除TestFlight SDK的所有用途?例如,所有passCheckpoint次来电:

TestFlight.passCheckpoint("FreemiumDialog opened");

我的(ProGuard-obfuscated)版本构建甚至不应该尝试向TestFlight发送任何信息,但我不想在使用TestFlight jar和amp;之间手动切换。它在我的代码库中的用途。

1 个答案:

答案 0 :(得分:0)

此ProGuard配置删除了对TestFlight SDK的所有调用:

# Remove all TestFlight SDK calls, e.g. TestFlight.takeOff( ... );
# and TestFlight.passCheckpoint( ... );
-assumenosideeffects class com.testflightapp.lib.TestFlight { *; }

-dontwarn org.msgpack.**

注意:如果没有最后一行,ProGuard会失败并发出一堆警告:

  

警告:org.msgpack.template.builder.BeansBuildContext:找不到   引用类javassist.CtClass
  警告:org.msgpack.util.json.JSONUnpacker:找不到引用的类> org.json.simple.parser.JSONParser

这是因为TestFlightLib jar(至少版本1.3)包含并使用名为MessagePack的库。我们需要保持警惕或静音警告。上面我正在静音警告,因为这里的重点是在发布版本中使用TestFlight。