2018/01/19
PRODUCT_DEFAULT_DEV_CERTIFICATE にパスワード付き署名を設定する場合は注意
AOSP をビルドする際、デフォルトだと署名には `build/target/product/security/` 以下にある `testkey.x509.pem` と `testkey.pk8` が使われます。 しかし、実際にリリースするデバイスには自分の署名を使うべきです。 普通は sign_target_files_apks を使いますが、`PRODUCT_DEFAULT_DEV_CERTIFICATE` を使うことも可能ということでやってみました。 (ただし、 Android 4.4!)### パスワード付き署名を使うとビルドが通らない まずは、パスワード無しの署名を設定してみたところ、無事ビルドが通りました。 `/system/etc/security/otacerts.zip` も正しく作成されていました。 ところが、署名にパスワード設定したところビルドが通らなくなってしまったのです。 ### `-j8` を取るしか無い? エラーを見てみると、パスワード入力を求められて終了しています。 どこかに回避策は無いかと探してみたところ、`make` の並列オプション `-j8` をとれば、パスワード入力のところで止まるよというアドバイス。 確かにそうだろうけど、このご時世に並列ビルドしないなんて。 他にも `/source/build/tools/signapk/SignApk.java` を改造してパスワードをハードコーディングすればいい。というのも。 せめて、外部ファイルからパスワードを読み込めるようにする方が良いんじゃない?参考- [Signing Builds for Release | Android Open Source Project](https://source.android.com/devices/tech/ota/sign_builds) - [Android keys - release keys | Cool Fish In Glacier](http://cfig.github.io/2015/10/15/signing-keys-in-android/)### 結局 PRODUCT_DEFAULT_DEV_CERTIFICATE を使うのは止めました AOSP の公式サイトにも `PRODUCT_DEFAULT_DEV_CERTIFICATE` の記述は無くなっていますし 、使うべきではないということなのでしょう。 諸事情で `sign_target_files_apks` ではない方法を探していたのですが。参考- [Certificate password prompt in build - Google グループ](https://groups.google.com/forum/#!topic/android-building/3L-ZJOyWSdY)
0 件のコメント:
コメントを投稿