我试图通过编辑androidmanifest.xml文件来改变我的默认/main/startup(不管你叫它什么)活动。我所做的只是改变了android:name属性。然而,这完全破坏了整个应用程序。当我试图安装它失败和读取。
安装错误:INSTALL_PARSE_FAILED_NO_CERTIFICATES
当我试图把它改变回以前的状态时,它仍然给我同样的错误…我做了什么?
我试图通过编辑androidmanifest.xml文件来改变我的默认/main/startup(不管你叫它什么)活动。我所做的只是改变了android:name属性。然而,这完全破坏了整个应用程序。当我试图安装它失败和读取。
安装错误:INSTALL_PARSE_FAILED_NO_CERTIFICATES
当我试图把它改变回以前的状态时,它仍然给我同样的错误…我做了什么?
当前回答
如果你正在使用Azure构建管道,并且你正在使用Android签名任务来签署你的APK,请确保使用版本3+来签署你的应用程序。这启用了Android 11+所需的v2方案Android签名。
其他回答
你也可以检查
项目结构->默认配置->签名配置
在你添加所有你需要的东西之后
您还可以将构建变体更改为Debug,这样应该就可以了
以我为例,我用MinimumSDK安装了一个比我实际设备的Android版本更大的项目。我用了另一个装置,它解决了。
我的项目MinSDK -> 24
我的手机安卓版本-> 21
另一种得到这个错误的方法是在macOS上使用ant构建,并在应用程序的源树中有一个Finder图标文件(icon \r)。它似乎jarsigner不能处理文件名中的回车,尽管它会声称签名是有效的,如果你-验证APK,它总是导致APK不会安装在设备上。具有讽刺意味的是,谷歌驱动器查找器插件是Finder图标文件的一个很好的来源。
解决方案是在文件集中使用这样的说明符排除违规文件(这些文件在APK中是无用的):
<exclude name="**/Icon " />
如果您添加了签名配置(创建签名密钥并添加到“项目结构”>“模块”>“签名配置”),但忘记在“项目结构”>“构建变量”>“构建类型”>“签名配置”中指出,则可能会抛出此错误。
签名配置字段不应该是空的!(见下图)否则,你会看到
"INSTALL_PARSE_FAILED_NO_CERTIFICATES...APK signature verification failed."
如果尝试安装版本变体,则会出现错误。(或其他具有相同错误配置的变体)