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

安装错误:INSTALL_PARSE_FAILED_NO_CERTIFICATES

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


当前回答

你也可以检查

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

在你添加所有你需要的东西之后

其他回答

在我的例子中,我可以构建并运行发布版本,但是在尝试进行调试构建时得到了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 机构名称:未知 城市或地点:未知 州或省:未知 国家代码:美国

确保构建变量在Android Studio中被设置为调试(而不是发布)(检查构建变量面板)。

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

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

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

这是一个丑陋但快速的解决方案:使用JDK 6而不是7。

在阅读了Chloe的回答后,我卸载了JDK 7(目前不需要它)并安装了JDK 6。这就解决了问题。一个更好的解决方案是让ant使用JDK 6(不卸载7)。也许可以改变/设置这个属性:

java .

在当地。属性文件。它在项目目录(根目录)中。

Android不支持JDK 7(只有6或5),所以让ant脚本也使用JDK 6或5可能是一个很好的解决方案。