サンプルの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の設定は不要です.
kamolandをフォローしましょう


© 2017 KMIソフトウェア