Hatena::Groupandroid

lnzntの Android 日記 このページをアンテナに追加 RSSフィード

2012年04月07日(土)

apk パッケージ

00:39 | apk パッケージ - lnzntの Android 日記 を含むブックマーク はてなブックマーク - apk パッケージ - lnzntの Android 日記 apk パッケージ - lnzntの Android 日記 のブックマークコメント

作った Hello プロジェクトから apk パッケージを作って、エミュレータにインストールしたいと思います。

署名付きのパッケージでないとエミュレータにインストールできません。

(設定すればできるようですが)

署名付きパッケージでエクスポート

eclipse で以下を行なう。

  1. パッケージエクスプローラで「Hello」を右クリックして「Android Tools」>「Export Signed Application Package...」を選択
  2. Project に "Hello" と入力して「Next」をクリック

以降は、キーストアが既存か否かで手順が別れます。

キーストアがない場合(初めての場合)

  1. 「Create new keystore」をチェック
  2. 「Location」にキーストアファイルの作成場所を入力
  3. 「Password」と「Confirm」にキーストアのパスワードを入力
  4. 「Next」をクリック
  5. 「Alias」に別名(任意の文字列、多分鍵の識別名)を入力
  6. 「Password」と「Confirm」に(多分鍵の)パスワードを入力
  7. 「Validity(year)」に有効期間(年)を入力
  8. 「First and Last Name」に署名者の名前を入力
  9. 他の項目は任意に入力
  10. 「Next」をクリック
  11. Destination APK file」に apk パッケージファイルの作成場所を入力
  12. 「Finish」をクリック

キーストアがある場合

  1. 「Use existing keystore」 をチェック
  2. 「Password」にキーストアのパスワードを入力
  3. 「Next」をクリック
  4. 「Use existing key」 をチェック
  5. 「Alias」に別名(多分鍵の識別名)を入力
  6. 「Password」に(多分鍵の)パスワードを入力
  7. 「Next」をクリック
  8. Destination APK file」に apk パッケージファイルの作成場所を入力
  9. 「Finish」をクリック

アプリケーションのアンインストール

adb を使います。これは Android SDK のツールです。

$ adb uninstall <パッケージ名>

。。。でできるはずですが失敗しました。(原因は調査中。原因はパッケージ名を理解してなくて、ちゃんと指定できてなかったからです。パッケージ名のつけ方を間違えてました - lnzntの Android 日記 - Android 開発コミュニティ)

仕方ないので、エミュレータの「アプリ管理」から既存の「Hello」をアンインストールしました。

アプリケーションのインストール

アプリケーションが既存の場合、上の手順で事前にアンインストールします。

以下を実行するとアプリケーションがインストールされます。

$ adb install <apk ファイルのパス>

実行。

$ adb install Hello.apk
1040 KB/s (38555 bytes in 0.036s)
	pkg: /data/local/tmp/Hello.apk
Success

インストールされました。

----

署名付きパッケージの Hello がエミュレータにインストールされた状態で、Eclipse から Hello アプリを実行しても上書きできずにエラーになります。

ベターな回避法がよく分からないので、上の作業の後、署名付き apk はエミュレータからアンインストールしておきました。