web-dev-qa-db-ja.com

別のキーストアでapkを辞任する

現在、プライベートキーストアファイルで署名されたapkを取得していますが、別のキーストアファイルでそのapkに署名したいです。どうすればそのapkを辞任できますか?

20
Rookie

以下を確認してくださいSO thread

別の証明書で.apkを辞任できますか

または this oneも役立ちます

16
swiftBoy

別のキーストアを使用してapkを再署名できます。

次の手順を実行します:

リリースへの署名:$1.apk -> $1_release.apk"

ステップ1:以前の署名を削除する

  • .apkの拡張子を.Zipに変更します。
  • フォルダーMETA-INFを開いて削除します
  • 拡張機能を.apkに変更します
    または
    コマンド:Zip [originalapk]
    例:Zip "$1".apk -d

ステップ2: release.keystoreで署名する:

コマンド:

jarsigner –verbose –keystore [keystorefile] –signedjar [unalignedapk] [originalapk] alias_name

例:

C:\Program Files\Java\jdk1.6.0_43\bin> jarsigner -verbose -keystore release.keystore -signedjar "$1"_unaligned.apk "$1".apk release

ステップ3:整列

コマンド:zipalign -f 4 [unalignedapk] [releaseapk]

例:

C:\Users\Downloads\adt-bundle-windows-x86\adt-bundle-windows-x86\sdk\too ls>zipalign -f 4 "$1"_unaligned.apk "$1"_release.apk

ステップ4:クリーンアップ

コマンド:rm 4 [unalignedapk]
例:rm "$1"_unaligned.apk


追加のコマンドが役立つ場合があります:

  1. Keytoolで新しいキーを生成するには
keytool -genkey -alias -keystore 
  1. キーをリストするには
keytool -list -keystore 

注:

APKに署名するために、JDKを1.7から1.6.0_43アップデートにダウングレードしました。

理由:

JDK 7では、デフォルトの署名アルゴリズムが変更され、APKに署名するときに署名とダイジェストアルゴリズム(-sigalgと-digestalg)を指定する必要があります。

コマンド:

jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore [keystorefile] [originalapk] alias_name
27
Harsha.Vaswani
  1. 古い記号を削除します

    Zip -d xxxx.apk(apkファイル)META-INF/*

  2. 署名apk

    jarsigner -verbose -keystore xxxx.keystore(キーストア)-signedjar out_sign.apk(outfile)unsign.apk(unsign apk)xxxxxalias(your alias)

  3. 署名apkが機能せず、jdk> = 1.7 の場合

    パラメータを追加-digestalg SHA1 -sigalg MD5withRSA
    jarsigner -verbose -digestalg SHA1 -sigalg MD5withRSA -keystore xxxx.keystore(your keystore)-signedjar out_sign.apk(outfile)unsign.apk(unsign apk)xxxxxalias(your alias)

7
lingyfh

また、非常に使いやすいオープンソースのapk-resignerスクリプトを使用することもできます。

APK-resigner: https://github.com/onbiron/apk-resigner

./signapk.sh calculator.apk ~/.Android/debug.keystore Android androiddebugkey

デバッグキーでAPKに署名する場合も使用できます。

./signapk.sh calculator.apk 
7
Fatih