com.android.tools.build:gradle 升级到 3.5.2 后导致打包不签名的异常 "无法获取签名信息,请上传有效包(110506)"

事情是这样的, 这是我第二次手贱了. 每当 Android Studio 提示更新时我顺手就想去点, 果然这次又被坑了!

更新完项目运行倒是没什么异常, 但是等到要打包上线的时候就发现使用以往步骤打出来的签名包, 上传到各大平台后就提示没有签名, WTF?! 这是什么鬼? 为了这个问题我排查了一天.

最后甚至想到要把 Android Studio 降级来解决…

不过先尝试了要把 Gradle 降级, 结果报了这个异常.

ERROR: Minimum supported Gradle version is 5.4.1. Current version is 5.2.1.

于是为了解决这个异常我搜索看到这篇文章.

https://blog.youkuaiyun.com/muzili1206/article/details/60757210

里面最后一句话给了我灵感, 于是我把项目根目录下的 build.gradle 里的

com.android.tools.build:gradle:3.5.2

降级为 3.4.0 这是我的上个版本. 于是解决了这个问题! 打出来的包总算是有签名的了!!

### 关于 `com.android.application.gradle.plugin` 和 `com.android.tools.build:gradle` 在 Android 开发环境中,`com.android.application.gradle.plugin` 并是一个官方定义的依赖项名称;通常使用的表述形式为 `com.android.application` 或者更常见的是 `com.android.tools.build:gradle` 来指定 Gradle 插件版本。 对于 `com.android.tools.build:gradle:7.3.1` 这一表达方式,在构建文件中用于声明所要应用的具体 Gradle 插件版本。该插件负责处理所有与编译、打包以及部署有关的任务,确保应用程序能够按照预期被正确组装并准备就绪以便发布或测试[^1]。 当提到 `com.android.application` 时,这实际上是应用于模块级别的 DSL (领域特定语言),用来配置属于 application 类型的应用程序特性。它会自动引入对应的工具链来支持 APK 构建过程中的各种操作。因此,虽然看起来像是两个同的组件,但实际上它们紧密关联在一起工作: - **`com.android.application`**: 应用于具体的 module 中,指明这是一个 Application Module,并加载必要的设置。 - **`com.android.tools.build:gradle`**: 定义在整个 project 层面作为 classpath dependency 加载,提供核心功能和服务给所有的 modules 使用。 两者共同作用以实现完整的 Android 工程管理流程。需要注意的是,尽管有时可能会看到类似的命名约定,但在实际使用过程中应当遵循官方文档推荐的方式来进行配置[^2]。 ```groovy // Project-level build.gradle buildscript { repositories { google() mavenCentral() } dependencies { classpath "com.android.tools.build:gradle:7.3.1" } } plugins { id 'com.android.application' version '7.3.1' apply false } ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值