カテゴリー
未分類

AmazonSNSでKindleFireにPushさせる(ADM)とき実機デバッグで E/ADM: ADM Error INVALID_SENDER – Unable to parse API Key for package [package_name]. Did you forget to embed it? とか言われる場合

Kindle Fire端末向けにPushを組み込もうとしてADMを実装していましたが、Amazonのマニュアルに従いassetsフォルダにapi_key.txtを作り、いざ実機で動作確認しようとしたところ、

E/ADM: ADM Error INVALID_SENDER – Unable to parse API Key for package [package_name]. Did you forget to embed it?
(お前、api_keyファイル埋め込んでなくね?)

って言われて、登録IDすらろくに取得できずに数時間無駄にしました。

ちなみに環境はWindows10上でAndroidStudio2.xを使っての開発です。

以下、原因と修正内容です。

原因:SecurityProfileのSignatureに入力するMD5が、本番リリース用のKeyStoreFileから取得したMD5だった

そもそもですね、恥ずかしながらKeyStoreファイルなんて自分が用意したものしか知らなかったので、それのMD5が必要なんだとばかり思っていたら、USBデバッグとかでは自動的に用意されたKeyStoreファイルが使われてるんですね。知りませんでした。

修正:debug.keystoreからMD5を取得する

ちなみにうちの環境では「C:\Users\[ユーザー]\.android\debug.keystore」に存在していました。これをkeytoolにかけてMD5を取得し、SecurityProfileに登録してAPI keyを取得するとうまくいきました!

keytoolで指定するaliasは「androiddebugkey」。なのでコマンドラインはこんな感じです。

keytool -list -v -alias androiddebugkey -keystore C:\Users\[ユーザー]\.android\debug.keystore