【发布时间】:2019-02-17 18:22:38
【问题描述】:
我有一个奇怪的问题,即我的调试版本运行良好,但在签署并生成我上传到 Play 商店的应用程序包后,应用程序立即崩溃(我在具有商店版本的手机上运行 LogCat我的应用程序,我看到它与 AndroidX ConstraintLayout 有关,但无法重现)。我认为release 和debug 版本之间存在一些差异,所以我开始调试我的发布版本。
当我这样做时,Android Studio 无法安装 APK 并出现以下错误:
安装失败并显示 INSTALL_PARSE_FAILED_NO_CERTIFICATES 消息: 包 /data/app/vmdl1900556551.tmp/base.apk 没有证书 条目 AndroidManifest.xml。这个问题有可能得到解决 通过卸载现有版本的apk(如果存在),以及 然后重新安装。
警告:卸载将删除应用程序数据!
您要卸载现有的应用程序吗?
我的app.gradle 中有签名配置,它使用与我签名和发布的应用相同的数据:
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
【问题讨论】:
-
如果你use
keytoolto examine your signed APK,它签名是否如你所愿? -
@CommonsWare 你是指我尝试调试的那个吗?
-
我的意思是导致
INSTALL_PARSE_FAILED_NO_CERTIFICATES安装错误的那个。您正在尝试对其签名——它是否已签名?还是您不小心使用了未签名的 APK 副本? -
@CommonsWare 我将 Android Studio 设置为构建变体“发布”,然后按 Shift-F9 进行调试。我现在正在与
keytool核对。 -
APK中META-INF中没有RSA文件。它似乎没有签名。
标签: android android-studio code-signing