今天在接手维护一个项目时,要添加自动更新功能,代码写好了,debug模式测试也没问题,打正式包的时候却出现一个问题:debug模式下可以在后台各种Log的输出信息,正式包下却一点Log信息都看不到……..因为公司是做硬件的,一个项目下有很多so包、jar包,一开始我以为是这个问题,排查了一下午,没找到问题出现在哪里,后来想了一下,感觉不太对,为什么debug模式下却正常呢?难道是混淆了?去混淆文件一看,好家伙,发现了一段有意思的代码,正是因为她们的存在,打正式包的时候在后台看不到任何Log项目输出。
-assumenosideeffects class android.util.Log {
public static *** d(...);
public static *** v(...);
public static *** i(...);
public static *** w(...);
public static *** e(...);
}