В настоящее время я получаю apk, подписанный с частным файлом хранилища ключей, но я хочу подписать этот apk с другим файлом хранилища ключей. Как я могу отменить этот apk..?
Списать apk с различным хранилищем ключей
Ответ 1
вы должны проверить ниже поток SO
Могу ли я отказаться от .apk с другим сертификатом
или этот также может помочь вам
Ответ 2
Вы можете отменить свой 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
Дополнительные команды могут помочь:
- Чтобы сгенерировать новый ключ с помощью keytool
keytool -genkey -alias -keystore
- Чтобы отобразить ключи
keytool -list -keystore
Примечание:
Чтобы подписать наши апки, мы понизили JDK с 1,7 до 1,6,0_43.
Причина:
По состоянию на JDK 7 алгоритм подписывания по умолчанию изменился, и вам нужно указать алгоритмы подписи и дайджеста (-sigalg и -digestalg), когда вы подписываете APK.
Команда:
jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore [keystorefile] [originalapk] alias_name
Ответ 3
Вы также можете использовать apk-resigner с открытым исходным кодом script, который очень прост в использовании.
APK-resigner: https://github.com/onbiron/apk-resigner
./signapk.sh calculator.apk ~/.android/debug.keystore android androiddebugkey
Также, если вы хотите подписать APK с помощью отладочного ключа, вы можете использовать.
./signapk.sh calculator.apk
Ответ 4
- удалить старый знак
zip -d xxxx.apk(ваш файл apk) META-INF/*
- знак apk
jarsigner -verbose -keystore xxxx.keystore(ваше хранилище ключей) -signedjar out_sign.apk(outfile) unsign.apk(unsign apk) xxxxxalias (ваш псевдоним)
- если знак apk не работает, а jdk >= 1.7
добавить параметры -digestalg SHA1 -sigalg MD5withRSA
jarsigner -verbose -digestalg SHA1 -sigalg MD5withRSA -keystore xxxx.keystore(ваше хранилище ключей) -signedjar out_sign.apk(outfile) unsign.apk(unsign apk) xxxxxalias (ваш псевдоним)