首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >发布版本上的INSTALL_PARSE_FAILED_NO_CERTIFICATES

发布版本上的INSTALL_PARSE_FAILED_NO_CERTIFICATES
EN

Stack Overflow用户
提问于 2019-02-17 18:22:38
回答 2查看 4.2K关注 0票数 4

我有一个奇怪的问题,我的调试版本运行良好,但是在我将其上传到Play Store之后,这个应用程序立即崩溃了(我在一个与我的应用程序的Store版本有关的手机上运行了LogCat,我看到它与AndroidX ConstraintLayout有关,但无法复制)。我认为releasedebug版本有一些不同,所以我开始调试我的发行版。

但是,当我这样做时,Android无法安装APK,错误如下:

安装失败,消息INSTALL_PARSE_FAILED_NO_CERTIFICATES: Package /data/app/vmdl1900556551.tmp/base.apk在条目AndroidManifest.xml上没有证书。有可能通过卸载现有版本的apk (如果它存在),然后重新安装来解决这个问题。 警告:卸载将删除应用程序数据! 要卸载现有应用程序吗?

我的app.gradle中有签名配置,它使用与已签名和发布的应用程序相同的数据:

代码语言:javascript
复制
android {
    signingConfigs {
        defaultConfig {
            keyAlias 'solaredge-notifier'
            keyPassword '******'
            storeFile file('/path/to/KeyStore.jks')
            storePassword '*****'
        }
    }
    compileSdkVersion 28
    defaultConfig {
        applicationId "nl.friesoft.solaredgenotifier"
        minSdkVersion 23
        targetSdkVersion 27
        versionCode 2
        versionName "1.1"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            debuggable true
            signingConfig signingConfigs.defaultConfig
        }
    }
}

我现在有点迷失在这里(坦白地说,我有点生气,因为我在Play Store上发布了一个崩溃的应用程序)。

如果您想查看这个实时应用程序,它就在这里:https://play.google.com/store/apps/details?id=nl.friesoft.solaredgenotifier&hl=en

EN

回答 2

Stack Overflow用户

发布于 2020-02-05 07:53:10

在生成证书之前,请尝试如下:

您的设备的Android版本是否在minSdkVersion和compileSdkVersion指定的范围之内?

至少,设备的SDK版本必须符合minSdkVersion。

试试看。从我的经验来看,当我部署到minSdkVersion和compileSdkVersion范围之外的带有SDK版本的设备上时,我收到了这样的错误:“应用程序无法安装:INSTALL_PARSE_FAILED_NO_证书”。

我修改了范围,以包括我的设备的SDK版本,和哇!

票数 2
EN

Stack Overflow用户

发布于 2020-03-04 10:14:30

生成签名apk的步骤:

1-构建未签名的发行版apk。

使用命令提示符对齐未签名的APK。

代码语言:javascript
复制
zipalign -v -p 4 my-app-unsigned.apk my-app-unsigned-aligned.apk

3-使用Sonim私钥通过命令提示符签署APK。

代码语言:javascript
复制
apksigner sign --ks my-release-key.jks --out my-app-release.apk my-app-unsigned-aligned.apk

4-在设备中安装已签名的apk。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54736276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档