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

安装错误:INSTALL_PARSE_FAILED_NO_CERTIFICATES

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


当前回答

如果你正在使用Azure构建管道,并且你正在使用Android签名任务来签署你的APK,请确保使用版本3+来签署你的应用程序。这启用了Android 11+所需的v2方案Android签名。

其他回答

我也面临着同样的问题。首先,我使用V2生成构建,并将其安装在运行OS 5.1的移动设备上,我得到了相同的问题。但是build在运行于OS 7.0的平板电脑上运行得很好。所以我用V1 Jar签名生成构建,它在两个设备上都工作得很好。

结论:如果您支持android OS 7.0以下的设备。使用V1 jar签名来生成构建。

我在Eclipse控制台中出现了这个错误。结果发现,我有两个内容相同但名称不同的罐子,它们相互冲突。我只是删除了其中一个,并设法在设备上安装了应用程序。

我得到这个错误是因为我释放了我的蚂蚁释放失败了,因为我耗尽了磁盘空间。

对于Xamarin用户来说,卸载并不能解决这个问题。问题在于,如果你将目标sdk升级到30+,你需要将密钥存储库文件重新加载到应用中心构建配置中。这将迫使应用中心与v2签署,这是从v30开始要求的。完全归功于这个github问题的评论

发生这种错误的原因有很多。请在事件日志中查看更多详细信息。在我的情况下,我得到这个错误:

Failed to commit install session 1278974094 with command cmd package install-commit 1278974094. Error: INSTALL_PARSE_FAILED_NO_CERTIFICATES: Failed collecting certificates for /data/app/vmdl1278974094.tmp/0_app-debug: Failed to collect certificates from /data/app/vmdl1278974094.tmp/0_app-debug: Attempt to get length of null array

这可能很愚蠢,但我几个月都找不到答案,而且这种情况只发生在我公司的项目中。如果我创建一个全新的项目,它安装得非常好。

如果你用的是Windows,你安装Java了吗?检查是否有C:\Program Files\Java\ jdk1.8.0_your_version文件夹。

如果没有,请从Oracle官方网站下载JDK。并将值为“C:\Program Files\Java\jdk1.8.0_your_version”的变量JAVA_HOME添加到环境变量中,然后将JAVA_HOME也添加到PATH中。

现在再次尝试安装。