サンプルのControlManagerBaseを使う場合の,SmartWatchアプリ向けのproguard設定.
SmartWatchアプリ向けproguard設定
SmartWatchのSDK付属サンプルSampleAdvancedControlExtensionでは,
ControlManagerBaseという仕組みを使って,別のコントロールに画面遷移し,
バックボタンで1つ前のコントロールに戻るという処理を実現しています.
これは興味深いのですが,内部的にリフレクションを使っている関係で,
このソースに対してproguardを使うときは注意が必要です.
もし格納パッケージがcom.exampleの場合だと,以下の設定が必要です.
-keep class * extends com.example.ManagedControlExtension {
public <init>(android.content.Context,java.lang.String,com.example.ControlManagerSmartWatch2,android.content.Intent);
}
ManagedControlExtension派生クラスのコンストラクタが,proguardに除去されないようにしています.
このコンストラクタはControlManagerSmartWatch2からリフレクションだけで呼び出されているため,
何もしなければ未使用メソッドとして除去されてしまいます.
余談
このサンプルと関係なく普通にSmartWatchのSDKを使うだけなら,特にproguardの設定は不要です.