我试图通过编辑androidmanifest.xml文件来改变我的默认/main/startup(不管你叫它什么)活动。我所做的只是改变了android:name属性。然而,这完全破坏了整个应用程序。当我试图安装它失败和读取。

安装错误:INSTALL_PARSE_FAILED_NO_CERTIFICATES

当我试图把它改变回以前的状态时,它仍然给我同样的错误…我做了什么?


当前回答

解决(为我)使用keytool的参数

-sigalg MD5withRSA -keyalg RSA -keysize 1024

在jarsigner中使用

-sigalg MD5withRSA -digestalg SHA1

解决方案

Android APK签名存在哪些隐患?

其他回答

如果你试图包含一个包含AndroidManifest.xml文件的.jar库,就会发生这种情况。

如果它是纯Java,请确保不将其包含在.jar导出中 如果它不是纯Java(意味着它是一个Android项目),那么你必须把它作为一个库项目

你直接在。apk文件中编辑AndroidManifest.xml了吗?如果是这样,那就行不通了。

每个Android .apk如果要安装在手机上,即使你没有通过市场安装,也需要签名。开发工具通过签署开发证书来解决这个问题,但.apk仍然是签名的。

这样做的一个用途是,设备可以判断.apk是否是已安装应用程序的有效升级,因为如果是的话,证书将是相同的。

因此,如果你对你的应用程序做了任何更改,你需要重新构建.apk,以便正确签名。

如果您添加了签名配置(创建签名密钥并添加到“项目结构”>“模块”>“签名配置”),但忘记在“项目结构”>“构建变量”>“构建类型”>“签名配置”中指出,则可能会抛出此错误。

签名配置字段不应该是空的!(见下图)否则,你会看到

"INSTALL_PARSE_FAILED_NO_CERTIFICATES...APK signature verification failed." 

如果尝试安装版本变体,则会出现错误。(或其他具有相同错误配置的变体)

我有ionic / Visual Studio Code(在设备上运行Android)的问题:

我在移动设备上卸载了应用程序(设置/应用程序),错误已经消失,应用程序正在启动。

对我来说,简单但愚蠢的解决方法是安装JRE和JDK。

我开始了一个新的Kotlin项目,安装了一个新的Android Studio的工作任务。我试图构建默认模板模拟电话,并得到了给定的错误。

我做了以下事情:

安装最新版本的JRE和JDK 打开CMD并执行java -version以确保已安装。它返回一个有效的版本消息。 重新启动Android Studio并加载我的项目 点击播放按钮安装到我的模拟设备。 一切正常。