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

安装错误:INSTALL_PARSE_FAILED_NO_CERTIFICATES

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


当前回答

导航到运行->编辑配置…—> Android App—> App—>安装选项

然后从应用程序包更改为APK而不是默认APK

其他回答

这是因为之前生成的版本和当前版本在v1(jar签名)和v2(完整的APK签名)之间的签名版本有冲突,

在生成签名APK对话框中修正正确的签名版本

对我来说,我忘记将新的签名配置添加到

项目结构->默认配置->签名配置

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

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

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

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

导航到运行->编辑配置…—> Android App—> App—>安装选项

然后从应用程序包更改为APK而不是默认APK

我在JetBrains Rider IDE中遇到了这个问题。

完整的错误

INSTALL_PARSE_FAILED_NO_CERTIFICATES: Failed to collect certificates from /data/app/vmdl1252907876.tmp/base.apk: Attempt to get length of null array .日志含义

这个问题是使用JDK8造成的。切换到JDK11解决了这个问题。