Failed to read key key0 from store “D:\abc\as.jks“: Invalid keystore format

本文讲述了在使用AndroidStudio构建APK时遇到的错误,原因是Java版本不匹配。解决方法包括升级gradle插件版本、更新gradle-wrapper、清理缓存并重置manifest中的exported属性。
摘要由CSDN通过智能技术生成

一、问题报错

在生成APK时报错,显示无法读取jks,考虑多方面原因,配置方面没有问题。最后发现由于旧版工程的Java版本与当前AS默认的Java版本不一致,所以需要升级工程版本才行。
在这里插入图片描述

二、解决方法

1、build.gradle文件修改如下,主要将插件版本从3.6.1升级到7.4.2:

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        maven { url 'https://www.jitpack.io' }
        maven { url 'https://maven.aliyun.com/repository/public' }
        maven { url 'https://maven.aliyun.com/repository/central' }
        maven { url 'https://maven.aliyun.com/repository/jcenter' }
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
    }
    dependencies {
        classpath "com.android.tools.build:gradle:7.4.2"

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        maven { url 'https://www.jitpack.io' }
        maven { url 'https://maven.aliyun.com/repository/public' }
        maven { url 'https://maven.aliyun.com/repository/central' }
        maven { url 'https://maven.aliyun.com/repository/jcenter' }
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

2、gradle-wrapper.properties文件如下,主要将gradle-5.6.4-all更换为gradle-8.2-bin:

#Tue Dec 01 18:43:40 CST 2020
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https://mirrors.cloud.tencent.com/gradle//gradle-8.2-bin.zip

3、删掉.gradle和.idea文件夹后,重新build,等待构建成功。
在这里插入图片描述

4、重新生成APK。
在这里插入图片描述

在这里插入图片描述

5、遇到下面的报错,由于Manifest中api版本过低导致,需要声明android:exported="true"

Manifest merger failed : android:exported needs to be explicitly specified for element <activity#edu.cn.bookadminister.app.WelcomeActivity>. Apps targeting Android 12 and higher are required to specify an explicit value for `android:exported` when the corresponding component has an intent filter defined. See https://developer.android.com/guide/topics/manifest/activity-element#exported for details.

具体修改如下:

<activity android:name=".app.WelcomeActivity"
    android:exported="true">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

重新生成APK,成功!

让无数人从黑暗走向光明的书籍,你的命运可能由此改变:

  1. 《了凡四训》在线阅读白话文
  2. 《寿康宝鉴》在线阅读白话文
  3. 《阴律无情》在线阅读白话文
  4. 《欲海回狂》在线阅读白话文
  5.    电子书百度网盘下载链接
  • 15
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
这个错误信息意思是无法从密钥库读取密钥key0,因为密钥库的格式无效。 密钥库(Keystore)是一种用于存储和管理加密密钥的安全文件。在使用密钥库时,我们需要遵循一定的格式规范。然而,在这个问题中,密钥库的格式不符合规范,导致无法读取指定的密钥。 要解决这个问题,你可以采取以下步骤: 1. 检查密钥库的格式:请确保密钥库的格式是正确的。你可以查看密钥库的扩展名,通常为.jksJava密钥库)或.bks(Bouncy Castle密钥库)。 2. 检查密钥库的位置:确认你正在读取正确的密钥库文件。检查文件路径和名称是否正确。 3. 检查密钥库的密码:在读取密钥库时,你需要提供密钥库的密码。确保提供的密码是正确的。如果你不确定密码是否正确,可能需要重置密码。 4. 密钥库是否已损坏:有时,密钥库文件可能会损坏。你可以尝试使用其他工具或方法打开该文件,如果仍然无法读取密钥,则有可能是密钥库文件已损坏。 5. 在开发环境中重新生成密钥库:如果以上方法都无法解决问题,你可以考虑在开发环境中重新生成密钥库。首先,确保备份了密钥库中的重要数据。然后,使用正确的工具和正确的格式创建新的密钥库文件。 希望以上解答对你有所帮助,解决了读取密钥库格式无效的问题。如果问题仍然存在,请考虑查看相关文档或寻求专业人士的帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

振华OPPO

你的鼓励是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值