我试图通过编辑androidmanifest.xml文件来改变我的默认/main/startup(不管你叫它什么)活动。我所做的只是改变了android:name属性。然而,这完全破坏了整个应用程序。当我试图安装它失败和读取。
安装错误:INSTALL_PARSE_FAILED_NO_CERTIFICATES
当我试图把它改变回以前的状态时,它仍然给我同样的错误…我做了什么?
我试图通过编辑androidmanifest.xml文件来改变我的默认/main/startup(不管你叫它什么)活动。我所做的只是改变了android:name属性。然而,这完全破坏了整个应用程序。当我试图安装它失败和读取。
安装错误:INSTALL_PARSE_FAILED_NO_CERTIFICATES
当我试图把它改变回以前的状态时,它仍然给我同样的错误…我做了什么?
当前回答
这是因为之前生成的版本和当前版本在v1(jar签名)和v2(完整的APK签名)之间的签名版本有冲突,
在生成签名APK对话框中修正正确的签名版本
其他回答
对我来说,简单但愚蠢的解决方法是安装JRE和JDK。
我开始了一个新的Kotlin项目,安装了一个新的Android Studio的工作任务。我试图构建默认模板模拟电话,并得到了给定的错误。
我做了以下事情:
安装最新版本的JRE和JDK 打开CMD并执行java -version以确保已安装。它返回一个有效的版本消息。 重新启动Android Studio并加载我的项目 点击播放按钮安装到我的模拟设备。 一切正常。
大多数答案都是正确的。另一个原因是
►你的min SDK比设备SDK小。 ►您的设备中有具有相同包名的旧应用程序
经过一段时间和多个关于这个主题的在线讨论,我设法修复了我的项目。
它主要考虑的是你放入的最后一个文件(可能是图像或布局)。如果你删除了它们,问题就会解决,你就可以重新构建项目了。
在更新的Android Studio 3.2+版本中,如果你试图运行发布安装,并且你没有定义任何签名配置,它将显示错误提示,安装将失败。您需要做的是运行调试版本或正确设置签名配置(V1或V2)。
在我的例子中,我可以构建并运行发布版本,但是在尝试进行调试构建时得到了INSTALL_PARSE_FAILED_NO_CERTIFICATES错误。
解决方案是删除我的调试。keystore文件,让ADT重新创建它。它显然已经过期了。
一个更好的长期解决方案是显式地创建一个调试。密钥存储库,而不是让ADT创建它。下面是这样做的命令:
keytool -genkey -v -keystore debug.keystore -alias androiddebugkey -storepass android -keypass android -keyalg RSA -validity 14000
当出现提示时,输入这些值:
名字和姓氏:Android Debug 组织单位:Android 机构名称:未知 城市或地点:未知 州或省:未知 国家代码:美国