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

安装错误:INSTALL_PARSE_FAILED_NO_CERTIFICATES

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


当前回答

对于Xamarin用户来说,卸载并不能解决这个问题。问题在于,如果你将目标sdk升级到30+,你需要将密钥存储库文件重新加载到应用中心构建配置中。这将迫使应用中心与v2签署,这是从v30开始要求的。完全归功于这个github问题的评论

其他回答

解决(为我)使用keytool的参数

-sigalg MD5withRSA -keyalg RSA -keysize 1024

在jarsigner中使用

-sigalg MD5withRSA -digestalg SHA1

解决方案

Android APK签名存在哪些隐患?

我在JetBrains Rider IDE中遇到了这个问题。

完整的错误

INSTALL_PARSE_FAILED_NO_CERTIFICATES: Failed to collect certificates from /data/app/vmdl1252907876.tmp/base.apk: Attempt to get length of null array .日志含义

这个问题是使用JDK8造成的。切换到JDK11解决了这个问题。

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

导航到运行->编辑配置…—> Android App—> App—>安装选项

然后从应用程序包更改为APK而不是默认APK

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

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

android {    
    signingConfigs {
        dev {
            v2SigningEnabled true
        }
     }
}