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

安装错误:INSTALL_PARSE_FAILED_NO_CERTIFICATES

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


当前回答

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

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

其他回答

当我试图在运行api v23的手机上安装针对Android N预览构建的Xamarin项目时,我得到了这个错误。解决办法是不要这样做。

对我来说,简单但愚蠢的解决方法是安装JRE和JDK。

我开始了一个新的Kotlin项目,安装了一个新的Android Studio的工作任务。我试图构建默认模板模拟电话,并得到了给定的错误。

我做了以下事情:

安装最新版本的JRE和JDK 打开CMD并执行java -version以确保已安装。它返回一个有效的版本消息。 重新启动Android Studio并加载我的项目 点击播放按钮安装到我的模拟设备。 一切正常。

最近我在升级到Android Studio 4.0时遇到了这个错误。原因是该项目在build.gradle中的签名配置中禁用了V2签名。

解决方案是删除v2SigningEnabled false或显式地将其设置为true,这是默认值。

android {    
    signingConfigs {
        dev {
            v2SigningEnabled true
        }
     }
}

我发现当使用错误的签名配置时也会出现这个错误。如上所述,Android 7.0引入了一个新的签名方案V2。V2方案签署整个APK,而不仅仅是JAR,就像在V1方案中所做的那样。如果您只使用V2签名,并试图安装在7.0之前的目标上,您将得到这个错误,因为jar本身没有签名,7.0之前的PackageManager无法检测到V2 APK签名的存在。

为了与所有目标系统兼容,请在Android Studio的Generate signed APK对话框中检查两个签名版本框,以确保APK与这两个方案都有签名,如下所示:

如果预期只有7.0目标,则不需要包括V1签名。

首先,试着这样做:

去Gradle脚本→build . Gradle (module:app)→然后你必须改变(minSdkVersion)的值。例如,如果您使用26,您可以尝试降低值,如(minSdkVersion 20) 那就试试(现在同步)。