我试图通过编辑androidmanifest.xml文件来改变我的默认/main/startup(不管你叫它什么)活动。我所做的只是改变了android:name属性。然而,这完全破坏了整个应用程序。当我试图安装它失败和读取。
安装错误:INSTALL_PARSE_FAILED_NO_CERTIFICATES
当我试图把它改变回以前的状态时,它仍然给我同样的错误…我做了什么?
我试图通过编辑androidmanifest.xml文件来改变我的默认/main/startup(不管你叫它什么)活动。我所做的只是改变了android:name属性。然而,这完全破坏了整个应用程序。当我试图安装它失败和读取。
安装错误:INSTALL_PARSE_FAILED_NO_CERTIFICATES
当我试图把它改变回以前的状态时,它仍然给我同样的错误…我做了什么?
当前回答
解决(为我)使用keytool的参数
-sigalg MD5withRSA -keyalg RSA -keysize 1024
在jarsigner中使用
-sigalg MD5withRSA -digestalg SHA1
解决方案
Android APK签名存在哪些隐患?
其他回答
在更新的Android Studio 3.2+版本中,如果你试图运行发布安装,并且你没有定义任何签名配置,它将显示错误提示,安装将失败。您需要做的是运行调试版本或正确设置签名配置(V1或V2)。
你也可以检查
项目结构->默认配置->签名配置
在你添加所有你需要的东西之后
大多数答案都是正确的。另一个原因是
►你的min SDK比设备SDK小。 ►您的设备中有具有相同包名的旧应用程序
这是一个丑陋但快速的解决方案:使用JDK 6而不是7。
在阅读了Chloe的回答后,我卸载了JDK 7(目前不需要它)并安装了JDK 6。这就解决了问题。一个更好的解决方案是让ant使用JDK 6(不卸载7)。也许可以改变/设置这个属性:
java .
在当地。属性文件。它在项目目录(根目录)中。
Android不支持JDK 7(只有6或5),所以让ant脚本也使用JDK 6或5可能是一个很好的解决方案。
首先,试着这样做:
去Gradle脚本→build . Gradle (module:app)→然后你必须改变(minSdkVersion)的值。例如,如果您使用26,您可以尝试降低值,如(minSdkVersion 20) 那就试试(现在同步)。