APKファイルに署名をつけるためにkeytoolで jarsigner -verbose -keystore c:\ディレクトリ\証明書名.keystore c:\ディレクトリ\アプリ名.apk o証明書別名 や jarsigner -keystore 証明書名.keystore -digestalg SHA1 アプリ名.apk 証明書別名 jarsigner -verbose -keystore 証明書名.keystore -storepass パスワード1 -keypass パスワード2 -signedjar アプリ名.apk aアプリ名2.apk 証明書別名 を実行したら jarsigner:java.lang.SecurityException: invalid SHA1 signature file digest for n ・・・es/layout/main.xml というエラーが出てうまく署名できませんでした そこで jarsigner -sigalg SHA1withRSA -digestalg SHA1 -keystore 証明書名.keystore -verbose アプリ名.apk 証明書別名 で署名をつけるとあの忌々しいメッセージは表示されなくなり 「jarが検証されました」といううれしいメッセージが表示されるようになりました しかしなぜか二重署名になってしまい、やはりGooglePlayにアプリを 登録する事はできませんでした jarsigner -verify -verbose -certs アプリ名.apk で確認すると 当方がつけた署名以外に X.509, CN=Android Debug, O=Android, C=US [証明書は11/11/02 3:15から41/10/25 3:15まで有効です] という署名がついて複数署名になっています また、 [CertPathが検証されていません: Path does not chain with any of the trust a ors] というエラーが署名の箇所に表示され文末には このjarには、証明書チェーンがまだ検証されていないエントリが含まれています と表示されています なぜこのようなエラーが出るのか、複数署名になるのを防ぐ事はできるのか もしおわかりになりましたらご指導下さい お忙しい中ご面倒をおかけ致しますが何卒よろしくお願い申し上げます
↧