15
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

unsigned.apkに署名をつける

Posted at

外部サービスの人から送られてきたサンプルapkが無署名のapkだったりすると、試しにインストールすると以下のような署名がないよエラーがでます。


$ adb install -r Demo-release-unsigned.apk 
1955 KB/s (1538499 bytes in 0.768s)
	pkg: /data/local/tmp/Demo-release-unsigned.apk
Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]

署名付きのサンプルくれよ…って思うのですが、自分で付ける方法もあります。

やり方

1. zipalignしたapkファイルを生成する

まずは、apkが適切に動作するようにzipalignしたapkを作ります。zipalignについてはこちらに詳しいです。


$ /Applications/sdk/build-tools/21.1.1/zipalign -v 4 Demo-release-unsigned.apk Demo-release-unsigned_c.apk

2. debugkeyを生成する

keytool -genkey -v -keystore debug.keystore -alias hoge -keyalg RSA -keysize 2048 -validity 20000

名前、組織などなど問われますが検証なので適当に記入します。パスワードだけ覚えておきます。

3. apkに適用する

jarsignerを使って署名を適用します


$jarsigner -verbose -keystore debug.keystore Demo-release-unsigned_c.apk hoge(キー作成時に設定したalias名)

キーストアのパスワードを入力してください: 
   追加中: META-INF/MANIFEST.MF
   //...

以上です。

15
16
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?