我试图通过编辑androidmanifest.xml文件来改变我的默认/main/startup(不管你叫它什么)活动。我所做的只是改变了android:name属性。然而,这完全破坏了整个应用程序。当我试图安装它失败和读取。
安装错误:INSTALL_PARSE_FAILED_NO_CERTIFICATES
当我试图把它改变回以前的状态时,它仍然给我同样的错误…我做了什么?
我试图通过编辑androidmanifest.xml文件来改变我的默认/main/startup(不管你叫它什么)活动。我所做的只是改变了android:name属性。然而,这完全破坏了整个应用程序。当我试图安装它失败和读取。
安装错误:INSTALL_PARSE_FAILED_NO_CERTIFICATES
当我试图把它改变回以前的状态时,它仍然给我同样的错误…我做了什么?
当前回答
最近我在升级到Android Studio 4.0时遇到了这个错误。原因是该项目在build.gradle中的签名配置中禁用了V2签名。
解决方案是删除v2SigningEnabled false或显式地将其设置为true,这是默认值。
android {
signingConfigs {
dev {
v2SigningEnabled true
}
}
}
其他回答
在我的例子中,我可以构建并运行发布版本,但是在尝试进行调试构建时得到了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 机构名称:未知 城市或地点:未知 州或省:未知 国家代码:美国
如果你试图包含一个包含AndroidManifest.xml文件的.jar库,就会发生这种情况。
如果它是纯Java,请确保不将其包含在.jar导出中 如果它不是纯Java(意味着它是一个Android项目),那么你必须把它作为一个库项目
今天它为我抛出这个错误,因为我有一个最小sdk为28的应用程序,我在一个sdk版本为23的模拟器上点击播放。通常这是不可能的(AS灰色的播放按钮),但今天不是那么多。
以我为例,我用MinimumSDK安装了一个比我实际设备的Android版本更大的项目。我用了另一个装置,它解决了。
我的项目MinSDK -> 24
我的手机安卓版本-> 21
你直接在。apk文件中编辑AndroidManifest.xml了吗?如果是这样,那就行不通了。
每个Android .apk如果要安装在手机上,即使你没有通过市场安装,也需要签名。开发工具通过签署开发证书来解决这个问题,但.apk仍然是签名的。
这样做的一个用途是,设备可以判断.apk是否是已安装应用程序的有效升级,因为如果是的话,证书将是相同的。
因此,如果你对你的应用程序做了任何更改,你需要重新构建.apk,以便正确签名。