Android Studio生成签名APK无签名文件上传失败,如何解决?
问题排查结果
你当前的app模块build.gradle配置存在两处直接导致release包未签名的问题:
signingConfigs代码块中仅配置了debug类型的签名信息,完全没有定义release对应的签名配置项- buildTypes的release配置中引用了不存在的
signingConfigs.release,系统找不到对应签名配置,因此不会为release包添加签名
修复方案
修改app目录下的build.gradle文件,在signingConfigs块中新增release签名配置,可直接复用你已有的密钥信息,修改后代码如下:
apply plugin: 'com.android.application' android { signingConfigs { debug { storeFile file('D:\\CodeRepository\\app-key-store\\SimpleSender.jks') storePassword '123123123' keyAlias 'simple-sender-key' keyPassword '123123123' } // 新增release签名配置 release { storeFile file('D:\\CodeRepository\\app-key-store\\SimpleSender.jks') storePassword '123123123' keyAlias 'simple-sender-key' keyPassword '123123123' } } compileSdkVersion 30 buildToolsVersion "30.0.0" defaultConfig { applicationId "com.example.simplesender" minSdkVersion 25 targetSdkVersion 30 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' // 此处引用的signingConfigs.release现在已存在,可正常生效 signingConfig signingConfigs.release } } buildFeatures { viewBinding true } } // 下方依赖配置保持原有内容不变即可
额外验证说明
修改配置后重新生成签名APK,可通过Android Studio自带的APK分析工具验证签名是否成功:
- 点击顶部菜单
Build -> Analyze APK,选择你生成的release APK - 查看APK根目录的
META-INF文件夹,存在CERT.RSA、CERT.SF、MANIFEST.MF三个文件则说明签名成功 - 若通过Generate Signed Bundle/Apk向导生成APK,注意在最后一步勾选V1+V2两种签名版本,避免部分应用市场识别异常
内容的提问来源于stack exchange,提问作者william
相关产品推荐
相关产品推荐

