Невозможно создать подписанный apk

Когда я хочу создать подписанный apk, я получаю сообщение об ошибке IDE:

Got negative length for block
java.lang.IllegalStateException: Got negative length for block
at com.intellij.credentialStore.kdbx.HashedBlockInputStream.load(HashedBlockInputStream.java:129)
at com.intellij.credentialStore.kdbx.HashedBlockInputStream.get(HashedBlockInputStream.java:100)
at com.intellij.credentialStore.kdbx.HashedBlockInputStream.read(HashedBlockInputStream.java:66)
at java.util.zip.InflaterInputStream.fill(InflaterInputStream.java:238)
at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:158)
at java.util.zip.GZIPInputStream.read(GZIPInputStream.java:117)
at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284)
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)
at java.io.InputStreamReader.read(InputStreamReader.java:184)
at org.apache.xerces.impl.XMLEntityScanner.load(Unknown Source)
at org.apache.xerces.impl.XMLEntityScanner.skipString(Unknown Source)
at org.apache.xerces.impl.XMLVersionDetector.determineDocVersion(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:518)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:946)
at com.intellij.util.JdomKt.loadDocument(jdom.kt:82)
at com.intellij.util.JdomKt.loadElement(jdom.kt:77)
at com.intellij.credentialStore.kdbx.KdbxKt.load(kdbx.kt:89)
at com.intellij.credentialStore.kdbx.KdbxKt.access$load(kdbx.kt:1)
at com.intellij.credentialStore.kdbx.KdbxStreamFormat.load(kdbx.kt:57)
at com.intellij.credentialStore.kdbx.KdbxKt.loadKdbx(kdbx.kt:36)
at com.intellij.credentialStore.KeePassCredentialStore.<init>(KeePassCredentialStore.kt:82)
at com.intellij.credentialStore.KeePassCredentialStore.<init>(KeePassCredentialStore.kt:44)
at com.intellij.ide.passwordSafe.impl.PasswordSafeImplKt.computeProvider(PasswordSafeImpl.kt:38)
at com.intellij.ide.passwordSafe.impl.PasswordSafeImpl.<init>(PasswordSafeImpl.kt:46)
at com.intellij.ide.passwordSafe.impl.PasswordSafeImpl.<init>(PasswordSafeImpl.kt)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.picocontainer.defaults.InstantiatingComponentAdapter.newInstance(InstantiatingComponentAdapter.java:193)
at com.intellij.util.pico.CachingConstructorInjectionComponentAdapter.doGetComponentInstance(CachingConstructorInjectionComponentAdapter.java:103)
at com.intellij.util.pico.CachingConstructorInjectionComponentAdapter.instantiateGuarded(CachingConstructorInjectionComponentAdapter.java:80)
at com.intellij.util.pico.CachingConstructorInjectionComponentAdapter.getComponentInstance(CachingConstructorInjectionComponentAdapter.java:63)
at com.intellij.openapi.components.impl.ServiceManagerImpl$MyComponentAdapter.getComponentInstance(ServiceManagerImpl.java:228)
at com.intellij.util.pico.DefaultPicoContainer.getLocalInstance(DefaultPicoContainer.java:239)
at com.intellij.util.pico.DefaultPicoContainer.getComponentInstance(DefaultPicoContainer.java:206)
at com.intellij.openapi.components.ServiceManager.doGetService(ServiceManager.java:48)
at com.intellij.openapi.components.ServiceManager.getService(ServiceManager.java:38)
at com.intellij.ide.passwordSafe.PasswordSafe.getInstance(PasswordSafe.java:28)
at org.jetbrains.android.exportSignedPackage.KeystoreStep.<init>(KeystoreStep.java:71)
at org.jetbrains.android.exportSignedPackage.ExportSignedPackageWizard.<init>(ExportSignedPackageWizard.java:110)
at org.jetbrains.android.actions.GenerateSignedApkAction.actionPerformed(GenerateSignedApkAction.java:74)
at com.intellij.openapi.actionSystem.ex.ActionUtil$1.run(ActionUtil.java:215)
at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:232)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.lambda$actionPerformed$0(ActionMenuItem.java:309)
at com.intellij.openapi.wm.impl.FocusManagerImpl.runOnOwnContext(FocusManagerImpl.java:929)
at com.intellij.openapi.wm.impl.IdeFocusManagerImpl.runOnOwnContext(IdeFocusManagerImpl.java:136)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.actionPerformed(ActionMenuItem.java:299)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem.lambda$fireActionPerformed$0(ActionMenuItem.java:116)
at com.intellij.openapi.application.TransactionGuardImpl.runSyncTransaction(TransactionGuardImpl.java:86)
at com.intellij.openapi.application.TransactionGuardImpl.lambda$submitTransaction$1(TransactionGuardImpl.java:109)
at com.intellij.openapi.application.TransactionGuardImpl.submitTransaction(TransactionGuardImpl.java:118)
at com.intellij.openapi.application.TransactionGuard.submitTransaction(TransactionGuard.java:122)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.java:116)
at com.intellij.ui.plaf.beg.BegMenuItemUI.doClick(BegMenuItemUI.java:513)
at com.intellij.ui.plaf.beg.BegMenuItemUI.access$300(BegMenuItemUI.java:45)
at com.intellij.ui.plaf.beg.BegMenuItemUI$MyMouseInputHandler.mouseReleased(BegMenuItemUI.java:533)
at java.awt.Component.processMouseEvent(Component.java:6541)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6306)
at java.awt.Container.processEvent(Container.java:2237)
at java.awt.Component.dispatchEventImpl(Component.java:4897)
at java.awt.Container.dispatchEventImpl(Container.java:2295)
at java.awt.Component.dispatchEvent(Component.java:4719)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4889)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4526)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4467)
at java.awt.Container.dispatchEventImpl(Container.java:2281)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4719)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:764)
at java.awt.EventQueue.access$500(EventQueue.java:98)
at java.awt.EventQueue$3.run(EventQueue.java:715)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
at java.awt.EventQueue$4.run(EventQueue.java:737)
at java.awt.EventQueue$4.run(EventQueue.java:735)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:734)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:827)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:651)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:365)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Я могу создать отладочный apk или запустить его на своем телефоне, и оба варианта работают нормально. Я уже создал подписанные apks, но он внезапно перестал работать.

Кто-нибудь знает, что может вызвать проблему?


person Stein.    schedule 15.01.2018    source источник
comment
убедитесь, что ваш файл хранилища ключей не поврежден (т.е. получите его из резервной копии и проверьте контрольные суммы обоих).   -  person Marcin Orlowski    schedule 15.01.2018
comment
мой диалог даже не открывается - я нажимаю на сгенерировать подписанный apk - тогда возникает эта ошибка   -  person Stein.    schedule 15.01.2018
comment
Было бы полезно, если бы вы могли предоставить подробную информацию о команде, которую вы используете для создания apk.   -  person Konrads    schedule 15.01.2018
comment
Я не использую команду - я просто захожу в свой проект в студии Android - затем я нахожу сборку, которая открывает раскрывающееся меню, где я нажимаю - сгенерировать подписанный apk - тогда я получаю эту ошибку (если вам нужна дополнительная информация, пожалуйста, скажите мне, что вам нужно и я могу попытаться предоставить вам это)   -  person Stein.    schedule 15.01.2018


Ответы (2)


Удаляю эту папку и работала у меня:

C:\Users\Your userName\.AndroidStudio3.1
person Masoud Mokhtari    schedule 07.07.2018

Я создал новое хранилище ключей и написал в службу поддержки Android, чтобы я мог сбросить его в магазине Play.

Подробнее здесь:

https://developer.android.com/studio/publish/app-signing.html https://developer.android.com/studio/build/building-cmdline.html https://support.google.com/googleplay/android-developer/answer/7384423

person Stein.    schedule 17.02.2018
comment
У меня такая же проблема. У вас есть другие решения? - person Masoud Mokhtari; 07.07.2018
comment
Нет - других решений нет (ваше хранилище ключей повреждено, и оно построено таким образом, чтобы вы не создавали подписанный apk с неправильным хранилищем ключей) - это занимает несколько дней с поддержкой Android, но со мной все сработало - Просто следуйте руководство на страницах, которые я перечислил, и все будет в порядке - person Stein.; 07.07.2018