我试图通过编辑androidmanifest.xml文件来改变我的默认/main/startup(不管你叫它什么)活动。我所做的只是改变了android:name属性。然而,这完全破坏了整个应用程序。当我试图安装它失败和读取。
安装错误:INSTALL_PARSE_FAILED_NO_CERTIFICATES
当我试图把它改变回以前的状态时,它仍然给我同样的错误…我做了什么?
我试图通过编辑androidmanifest.xml文件来改变我的默认/main/startup(不管你叫它什么)活动。我所做的只是改变了android:name属性。然而,这完全破坏了整个应用程序。当我试图安装它失败和读取。
安装错误:INSTALL_PARSE_FAILED_NO_CERTIFICATES
当我试图把它改变回以前的状态时,它仍然给我同样的错误…我做了什么?
当前回答
如果您添加了签名配置(创建签名密钥并添加到“项目结构”>“模块”>“签名配置”),但忘记在“项目结构”>“构建变量”>“构建类型”>“签名配置”中指出,则可能会抛出此错误。
签名配置字段不应该是空的!(见下图)否则,你会看到
"INSTALL_PARSE_FAILED_NO_CERTIFICATES...APK signature verification failed."
如果尝试安装版本变体,则会出现错误。(或其他具有相同错误配置的变体)
其他回答
如果你正在使用模拟器,然后尝试重置它,如果你在移动设备上首先卸载应用程序,然后关闭开发人员模式,然后再打开它,问题将得到解决。
确保构建变量在Android Studio中被设置为调试(而不是发布)(检查构建变量面板)。
最近我在升级到Android Studio 4.0时遇到了这个错误。原因是该项目在build.gradle中的签名配置中禁用了V2签名。
解决方案是删除v2SigningEnabled false或显式地将其设置为true,这是默认值。
android {
signingConfigs {
dev {
v2SigningEnabled true
}
}
}
这是一个丑陋但快速的解决方案:使用JDK 6而不是7。
在阅读了Chloe的回答后,我卸载了JDK 7(目前不需要它)并安装了JDK 6。这就解决了问题。一个更好的解决方案是让ant使用JDK 6(不卸载7)。也许可以改变/设置这个属性:
java .
在当地。属性文件。它在项目目录(根目录)中。
Android不支持JDK 7(只有6或5),所以让ant脚本也使用JDK 6或5可能是一个很好的解决方案。
你直接在。apk文件中编辑AndroidManifest.xml了吗?如果是这样,那就行不通了。
每个Android .apk如果要安装在手机上,即使你没有通过市场安装,也需要签名。开发工具通过签署开发证书来解决这个问题,但.apk仍然是签名的。
这样做的一个用途是,设备可以判断.apk是否是已安装应用程序的有效升级,因为如果是的话,证书将是相同的。
因此,如果你对你的应用程序做了任何更改,你需要重新构建.apk,以便正确签名。