Android Studio 安装之历史版本下载问题解决

近日开发过程中,由于旧项目有迭代开发的需求,尝试用最新版 Android Studio 2025 依赖环境无法正常运行,因此尝试安装旧版Android Studio 环境,结果国内资源网站上都是坑,特别是C**N 资源,下载一个旧版本居然收费。。。

一、历史版本下载解决方法

1. 打开 Android Studio官网,发现只有最新版本的下载地址:

国内居然就找不到个下载的地方。。。

2. 无奈只能 Google 一翻,才发现了官网的奥秘所在,需要将页面切换到 English

3. 点击上面切换按钮并找到 Past Release

4. 进入到 Android 归档页面,点击同意协议:

5. 页面将正常显示历史版本下载页面:

二、Android Studio 版本与 AGP 适配关系

Android Studio 与 Android Gradle 插件 (AGP) 的版本对应关系非常重要,不匹配的版本组合可能导致构建失败或出现意外问题。下面这个表格汇总了近年来的主要版本对应情况。

Android Studio 版本 (代号/年度) 支持的 AGP 版本范围 关键变化点
Otter (2025.2.x) 4.0 - 8.13 支持 AGP 8.13
Narwhal (2025.1.x) 3.2 - 8.11 至 4.0 - 8.13 自 2025.1.2 起,最低 AGP 版本要求提升至 4.0
Meerkat (2024.3.x) 3.2 - 8.9 / 3.2 - 8.10 支持 AGP 8.9 及以上
Ladybug (2024.2.x) 3.2 - 8.7 / 3.2 - 8.8 支持 AGP 8.7 和 8.8
Koala (2024.1.x) 3.2 - 8.5 / 3.2 - 8.6 支持 AGP 8.5 和 8.6
Jellyfish (2023.3.x) 3.2 - 8.4 支持 AGP 8.4
Iguana (2023.2.x) 3.2 - 8.3 支持 AGP 8.3
Hedgehog (2023.1.x) 3.2 - 8.2 最低支持 compileSdk 34
Flamingo (2022.2.x) 3.2 - 8.0 首个支持 AGP 8.0 的版本
bash 复制代码
// AGP 在项目根目录的 build.gradle 中
dependencies {
    classpath "com.android.tools.build:gradle:8.4.0" // 修改为此处兼容的稳定版本
}

三、Gradle 与 Android Gradle 插件(AGP)版本关系

1. Gradle 与 AGP 的关系:

简单来说,Gradle 是一个通用的、功能强大的构建工具,而 AGP 是 Google 基于 Gradle 专门为 Android 项目开发的一个插件。AGP 为 Gradle 增添了处理 Android 特有资源(如清单文件、打包 APK/AAB)的能力 。它们各自独立版本化,但必须配套使用。

版本不匹配的后果:如果 AGP 和 Gradle 版本不兼容,在构建项目时会直接报错,例如提示 This version of the Android Gradle plugin requires Gradle X.X,并中止构建过程 。因此,严格遵守版本对应关系是顺利构建的前提。

JDK 版本要求:从 AGP 8.0 开始,强制要求使用 JDK 17​ 。对于 AGP 7.x 版本,推荐使用 JDK 11 。使用不匹配的 JDK 也可能导致构建失败。

2. AGP 版本与 Gradle 版本对应关系速查

Android Gradle 插件 (AGP) 版本 所需的最小 Gradle 版本 备注与关键变更
8.7.0 8.9 支持 Gradle 8.9 - 8.10
8.6.0 8.7 支持 Gradle 8.7 - 8.9
8.5.0 8.7 支持 Gradle 8.7 - 8.9
8.4.0 8.6 支持 Gradle 8.6 - 8.7
8.3.0 8.4 支持 Gradle 8.4 - 8.6
8.2.0 8.2 支持 Gradle 8.2 - 8.4
8.1.0 8.0 支持 Gradle 8.0 - 8.2
8.0.0 8.0 支持 Gradle 8.0 - 8.1
7.4.0 7.5 支持 Gradle 7.5 - 7.6
7.3.0 7.4 -
7.2.0 7.3 -
7.1.0 7.2 -
7.0.0 7.0 支持 Gradle 7.0 - 7.2

四. Android 项目配置 Gradle

1. Android 项目 Gradle Wrapper 配置,

可以修改项目根目录下 gradle/wrapper/gradle-wrapper.properties文件:

bash 复制代码
# 将默认的 services.gradle.org 地址替换为国内镜像地址
#distributionUrl = https\://services.gradle.org/distributions/gradle-8.6-bin.zip
# 例如,替换为阿里云镜像
distributionUrl=https\://mirrors.aliyun.com/gradle/gradle-8.6-bin.zip

# 或者替换为腾讯云镜像
# distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-8.6-bin.zip

2. 配置项目依赖的仓库地址

项目依赖的仓库地址决定了构建时从哪里下载第三方库(如 guava, junit等)。配置可以在不同级别进行。

(1) 项目级别配置

在项目根目录的 build.gradle(或 build.gradle.kts)文件中配置 repositories,对所有模块生效:

bash 复制代码
allprojects {
    repositories {
        maven { url 'https://maven.aliyun.com/repository/public/' } // 阿里云Maven镜像
        mavenCentral() // 可保留,但优先级在镜像之后
        google() // 如果需要Google的Android SDK等依赖
    }
}

特别注意插件依赖仓库:Gradle 插件本身也是一种特殊依赖,其仓库有时需要单独配置。建议在项目根目录的 settings.gradle文件中添加pluginManagement块

bash 复制代码
pluginManagement {
    repositories {
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin' } //  Gradle 插件镜像
        gradlePluginPortal() // 官方插件门户,可保留但优先级在后
    }
}    

(2) 全局配置

为避免每个项目都重复配置,可以创建全局初始化脚本。在用户主目录下的 .gradle文件夹中创建(或修改) init.gradle文件 。

bash 复制代码
allprojects {
    repositories {
        mavenLocal() // 先查看本地Maven仓库
        maven { url 'https://maven.aliyun.com/repository/public/' } // 阿里云主仓库
        maven { url 'https://maven.aliyun.com/repository/google/' } // Google仓库镜像
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin/' } // Gradle插件镜像
        mavenCentral() // Maven中央仓库
    }
}

3. 常用国内镜像源地址

镜像提供商 Gradle 发行版镜像地址 Maven 仓库镜像地址(用于项目依赖)
阿里云 https://mirrors.aliyun.com/gradle/ https://maven.aliyun.com/repository/public/
腾讯云 https://mirrors.cloud.tencent.com/gradle/ -
华为云 https://mirrors.huaweicloud.com/gradle/ -
清华大学 https://mirrors.tuna.tsinghua.edu.cn/gradle/ https://mirrors.tuna.tsinghua.edu.cn/maven/
中国科学技术大学 https://mirrors.ustc.edu.cn/gradle/ https://mirrors.ustc.edu.cn/maven/

4. Android Gradle 常用命令速查

命令分类 命令示例 功能说明
项目信息查询 ./gradlew -v 或 ./gradlew --version 查看项目中使用的 Gradle、JVM 等版本信息。
./gradlew tasks 列出项目中所有可用的任务及其简要描述。
./gradlew tasks --all 列出更详细的任务信息,包括缓存任务等。
构建项目 ./gradlew clean 清理项目,删除 build目录,清除所有先前编译的中间文件。在切换分支或遇到构建问题时特别有用。
./gradlew assemble 编译并打包生成所有变体(如 Debug 和 Release)的 APK 或 AAB 文件,但不运行测试。
./gradlew assembleDebug 仅编译并生成 Debug 版本的安装包。可简写为 ./gradlew aD。
./gradlew assembleRelease 仅编译并生成 Release 版本的安装包。可简写为 ./gradlew aR。
./gradlew build 执行完整构建,包括代码检查、运行测试和打包。此命令会生成所有类型的包。
安装与运行 ./gradlew installDebug 将 Debug 版本的 APK 安装到当前已连接的设备或模拟器上。
./gradlew installRelease 将 Release 版本的 APK 安装到设备上。
./gradlew uninstallDebug 从设备上卸载 Debug 版本的应用。
测试与分析 ./gradlew test 运行在本地 JVM 上的单元测试。
./gradlew lint 运行 Lint 代码静态分析,检查代码中的潜在问题。
./gradlew signingReport 显示应用的签名信息,如 SHA1、SHA-256 指纹等,常用于配置第三方服务。
调试与排查 ./gradlew dependencies 显示项目的依赖关系树,是解决依赖冲突的神器。
./gradlew [task] --stacktrace 构建失败时打印详细的堆栈跟踪信息,用于快速定位问题根源。
./gradlew build --info 输出比默认更详细的构建日志信息。
./gradlew clean build --refresh-dependencies 强制刷新依赖缓存,当依赖项更新后无法正常拉取时可使用此命令。
相关推荐
Kaze-11 小时前
VSCode Copilot无法连接网络的解决过程
ide·vscode·copilot
灰度少爷1 小时前
安卓手机投屏软件——QtScrcpy!
android·智能手机·安卓手机投屏软件
2501_915918411 小时前
iOS CPU 使用率深度分析,多工具协同定位高占用瓶颈的工程化方法
android·ios·小程序·https·uni-app·iphone·webview
啃火龙果的兔子1 小时前
android studio first run : unable to sccess android sdk add-on list
android·ide·android studio
2501_915106321 小时前
如何防止资源文件被替换?一套针对 iOS App 的多层资源安全方案
android·安全·ios·小程序·uni-app·iphone·webview
屿筱2 小时前
vscode 关于C/C++的环境配置
c++·ide·vscode
元气小嘉2 小时前
小程序开发中ios和安卓问题
android·ios
花花鱼2 小时前
android 权限申请的一点理解(理论)
android