【问题标题】:Android KeytoolException: Failed to read key AndroidDebugKey lengthTag=109, too bigAndroid KeytoolException: 无法读取密钥 AndroidDebugKey lengthTag=109, 太大
【发布时间】:2019-07-08 20:19:15
【问题描述】:

我一直在尝试生成 .apk(调试或发布),但一直收到此错误:

com.android.ide.common.signing.KeytoolException: Failed to read key AndroidDebugKey from store "/home/note-300/.android/debug.keystore": DerInputStream.getLength(): lengthTag=109, too big.

我已经尝试在 Android Studio 上创建一个新密钥(具有相同名称的密钥和别名),我删除了 .android/debug.keystore 并运行以下命令(来自here):

keytool -importkeystore -srckeystore old.keystore -destkeystore new.keystore -deststoretype pkcs12

 keytool -importkeystore -srckeystore new.keystore -srcstoretype pkcs12 -destkeystore final.keystore -deststoretype jks

我还能做些什么来运行我的应用程序?

操作系统:Ubuntu 18.04

Android Studio 3.3.1

【问题讨论】:

  • 您提到您使用 AS 创建了密钥,然后删除了密钥库并使用命令行重新创建了它,对吗?为什么不直接使用 AS 工具创建所有内容,它非常简单?
  • @113408 我在 AS 上创建了密钥并收到此错误。删除它并使用命令行再次创建,得到了同样的错误。

标签: android keytool


【解决方案1】:

尝试将 gradle-wrapper.properites 文件中的 gradle 从 4.10.1 升级到 4.10.2。我遇到了同样的问题,并且为我解决了这个问题。

【讨论】:

  • 在尝试了我能找到的一切之后,没有任何效果。然后我做了两件事,最终让我跑起来了。 1) 使用此 url 重新生成密钥库:coderwall.com/p/r09hoq/android-generate-release-debug-keystores 我还使用建议的步骤将 jks 转换为 pkcs12,此步骤是在运行 keytool 命令时提供的。 2)然后我通过执行 react-native init myNewAppName 创建了一个新的 React Native 应用程序文件夹 这次我运行 react-native run-android 一切正常。
  • 非常感谢。它为我节省了很多时间和精力。
  • 哇,谢谢! AS 中有一个 Gradle 升级消息,我接受了它,并且签名再次生效。
【解决方案2】:

可能不是确切的答案,但以下步骤解决了我的问题。因为我已经在使用 gradle 4.10.2。

步骤:

  1. 从安卓文件夹中删除.gradle文件夹。

  2. 运行react-native run-android

以上步骤解决了问题。

【讨论】:

    猜你喜欢
    • 2021-10-27
    • 2019-07-19
    • 2016-06-11
    • 2014-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多