apksigner - неверный формат хранилища ключей - PullRequest
0 голосов
/ 09 ноября 2018

Как описано в https://developer.android.com/studio/publish/app-signing#signing-manually Я пытаюсь подписать приложение в git bash на Windows 7.

Я создаю хранилище ключей с помощью keytool -genkey -v -keystore my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-alias , для этого следует использовать тип хранилища ключей по умолчанию, который должен подойти.

Затем я запускаю zipalign zipalign -v -p 4 my-app-unsigned.apk my-app-unsigned-aligned.apk , который выдает "Проверка успешна" (с одним с)

и, наконец, я запускаю apksigner, который выдает мне ошибку:

"C:\....\apksigner.bat" sign --ks my-release-key.jks --out my-app-release.apk my-app-unsigned-aligned.apk
Keystore password for signer #1:
123456
Failed to load signer "signer #1"
java.io.IOException: Invalid keystore format
        at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:658)
        at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:56)
        at sun.security.provider.KeyStoreDelegator.engineLoad(KeyStoreDelegator.java:224)
        at sun.security.provider.JavaKeyStore$DualFormatJKS.engineLoad(JavaKeyStore.java:70)
        at java.security.KeyStore.load(KeyStore.java:1445)
        at com.android.apksigner.ApkSignerTool$SignerParams.loadPrivateKeyAndCertsFromKeyStore(ApkSignerTool.java:613)
        at com.android.apksigner.ApkSignerTool$SignerParams.loadPrivateKeyAndCerts(ApkSignerTool.java:555)
        at com.android.apksigner.ApkSignerTool$SignerParams.access$200(ApkSignerTool.java:509)
        at com.android.apksigner.ApkSignerTool.sign(ApkSignerTool.java:215)
        at com.android.apksigner.ApkSignerTool.main(ApkSignerTool.java:89)

Я также пробовал разные типы магазинов, например pkcs12, который вообще не поддерживается (дает: java.io.IOException: parseAlgParameters failed: PBE AlgorithmParameters not available)

Так что мой вопрос: как найти правильный тип магазина?Я не нахожу ничего об этом ни в помощи, ни в Интернете.

1 Ответ

0 голосов
/ 20 декабря 2018

Что работает для меня, так это то, что вам не нужно выравнивать его. Просто загрузите его в Google, и все должно быть в порядке. apksigner sign --ks application.keystore app-release-unsigned.apk

Таким образом, решение состоит в том, чтобы игнорировать zipalign

Так как это может быть беспорядок. попробуйте восстановить ваш apk снова на тот случай, если вы уже подписали его, чтобы избежать нескольких подписей.

...