APKファイルに署名をつけると複数署名になります
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には、証明書チェーンがまだ検証されていないエントリが含まれています
と表示されています
なぜこのようなエラーが出るのか、複数署名になるのを防ぐ事はできるのか
もしおわかりになりましたらご指導下さい
お忙しい中ご面倒をおかけ致しますが何卒よろしくお願い申し上げます
補足
salsberry様 お忙しい中ご返答頂きありがとうございます 私が入力したのは zipalign [-f] [-v] <alignment> ○○○.apk ×××.apk です 「○○○」は最適化する前のAPKファイル名、「×××」は最適化した後のアプリ名です zipalign.exeはAndroidSDKをインストールして入手しました デスクトップに「adt-bundle-windows-x86-20130522」というフォルダが できたので adt-bundle-windows-x86-20130522\SDK\tools\zipalign.exe のコマンドに入力したのですがtoolsの中に×××.apkが見当たらないのです 入力時にどこに出力するかを指定する文字を入れる必要があるのでしょうか? zipalignの実行について、説明してくださっているサイトが多数あるので 見させていただくのですがどれにもそのような記述がなかったので zipalign [-f] [-v] <alignment> ○○○.apk ×××.apk とだけ記述しました 正しく実行されていると思っていたのですがtools内にファイルが無いと いうことはやり方が間違っていたのでしょうか? 初心者なもので申し訳ございません ご教授の程よろしくお願い申し上げます