Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android的调试密钥库已过期-安装\u解析\u失败\u证书不一致-IntelliJ_Android_Intellij Idea_Keystore - Fatal编程技术网

Android的调试密钥库已过期-安装\u解析\u失败\u证书不一致-IntelliJ

Android的调试密钥库已过期-安装\u解析\u失败\u证书不一致-IntelliJ,android,intellij-idea,keystore,Android,Intellij Idea,Keystore,我正在使用IntelliJ IDEA 12.0.4 在将我的应用程序安装到仿真器和手机时,我多次收到“安装\解析\失败\证书不一致”消息 我相信这个错误是在我的debug.keystore过期时出现的,我通过卸载旧版本在emulator上解决了这个问题 但是,我不想卸载手机上的应用程序,因为这将删除用户数据 我也尝试过用我的发布密钥对应用程序进行签名,然后在手机上安装(通过复制APK文件并执行),但由于证书原因,该安装也被拒绝。那不好吗 我该怎么办 PS:为免生疑问-我只有一台开发PC,只有一个

我正在使用IntelliJ IDEA 12.0.4

在将我的应用程序安装到仿真器和手机时,我多次收到“安装\解析\失败\证书不一致”消息

我相信这个错误是在我的debug.keystore过期时出现的,我通过卸载旧版本在emulator上解决了这个问题

但是,我不想卸载手机上的应用程序,因为这将删除用户数据

我也尝试过用我的发布密钥对应用程序进行签名,然后在手机上安装(通过复制APK文件并执行),但由于证书原因,该安装也被拒绝。那不好吗

我该怎么办


PS:为免生疑问-我只有一台开发PC,只有一个证书…

手机不知道是发行版还是调试密钥。它只知道它是用密钥签名的。因此,不能使用版本签名副本更新调试签名副本,除非使用相同的密钥进行发布和调试


这里没有真正的卸载方法。如果您的手机是根用户,您可以在新安装后删除文件并将其还原。

手机不知道是发布密钥还是调试密钥。它只知道它是用密钥签名的。因此,不能使用版本签名副本更新调试签名副本,除非使用相同的密钥进行发布和调试


这里没有真正的卸载方法。如果您的手机已根目录,您可以在新安装后删除文件并还原它们。

Android无法知道您的调试密钥与发布密钥相关

如果您的应用程序可以访问SD卡,您可以使用命令提示符将数据文件复制到SD卡,方法如下

adb -d shell
run-as <packagename> sh
cp <files> /sdcard/
adb-d shell
以sh的身份运行
cp/SD卡/

您的手机无需根目录即可执行此操作,但只能在应用程序的调试版本上运行。

Android无法知道您的调试密钥与您的发布密钥相关

如果您的应用程序可以访问SD卡,您可以使用命令提示符将数据文件复制到SD卡,方法如下

adb -d shell
run-as <packagename> sh
cp <files> /sdcard/
adb-d shell
以sh的身份运行
cp/SD卡/

您的手机无需根目录即可执行此操作,但只能在应用程序的调试版本上运行。

旧版本已安装。apk的证书与将要安装的新版本不同

因此,解决方案是:

卸载现有的.apk

然后重新安装新的.apk

旧的已安装.apk的证书与将要安装的新证书不同

因此,解决方案是:

卸载现有的.apk
然后重新安装新的.apk