この設定をすると、Logクラスのメソッドすべてが副作用がないものとして扱われます。すべてのメソッドとは、継承元のメソッドも含みます。
その結果 Object#wait()
なども副作用なしとしてdead code eliminationの対象になり、すべての Object#wait()
が素通りするようになります。
これを防ぐためには下記のように <methods>
じゃなく個別に指定しないといけません。
-assumenosideeffects class android.util.Log {
public static int v(...);
public static int d(...);
public static int i(...);
public static int w(...);
public static int e(...);
public static int wtf(...);
}