当前位置: 首页 > news >正文

Android Studio 国内镜像使用与 SDK 下载速度优化指南

本文适用于刚装好 Android Studio、SDK 下载缓慢、更新困难,以及 Gradle 构建缓慢的开发者。我们会讲:

  • 如何替换国内镜像源(包括 SDK 和 Gradle)

  • 如何解决 emulator 镜像下载失败的问题

  • 一些终极提速技巧(比如代理配置)


一、SDK 国内镜像配置

1. 更改 sdk-manager 下载源

我们需要改的是 Android SDK 的 dl.google.com 下载链接。

打开你的 Android Studio 安装目录下的:

<你的安装路径>/bin/idea.properties

添加如下配置(如果没有就新建):

disable.android.first.run=true

这个操作可以防止首次启动就自动检查 SDK 更新。然后手动配置下载源。

接着打开 tools/bin/sdkmanager,你可以指定代理或换国内镜像源来下载。我们推荐使用清华大学的镜像站。

2. 配置清华镜像(推荐)

编辑 SDK Manager 的配置:

cd ~/Android/Sdk/tools/bin
./sdkmanager --no_https --proxy=http --proxy_host=mirrors.tuna.tsinghua.edu.cn --proxy_port=80 "platform-tools"

你也可以添加一个配置文件 ~/.android/repositories.cfg

### repositories.cfg
### 使用国内镜像,比如阿里、清华、中科大

不过更推荐直接配置 build.gradle


二、Gradle 国内加速配置

这个不改基本就别想顺利 Sync 项目。

修改 gradle-wrapper.properties

打开你的项目目录下的 gradle/wrapper/gradle-wrapper.properties 文件:

distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip

替换为阿里镜像:

distributionUrl=https\://mirrors.aliyun.com/gradle/gradle-7.4-all.zip

修改 build.gradlerepositories

打开项目根目录的 build.gradle 文件,找到:

allprojects {repositories {google()mavenCentral()jcenter() // 如果有}
}

改成国内源:

allprojects {repositories {maven { url 'https://maven.aliyun.com/repository/google' }maven { url 'https://maven.aliyun.com/repository/central' }maven { url 'https://maven.aliyun.com/repository/jcenter' }}
}

别忘了把 settings.gradle 里也同步下这块。


三、Emulator 镜像下载失败?这有解!

Emulator 镜像的下载地址一般是:

https://dl.google.com/android/repository/sys-img/...

很多时候根本连不上。国内目前较好的解决方案是:

方法一:手动下载 system image

可以去清华镜像站:

👉 https://mirrors.tuna.tsinghua.edu.cn/help/android/

里面有 system-images 目录,直接找对应的版本下载,然后丢到:

<SDK路径>/system-images/

文件结构一定要对,比如 android-30/google_apis/x86/

方法二:使用代理

如果你能挂代理,直接在 Android Studio 中设置:

File -> Settings -> Appearance & Behavior -> System Settings -> HTTP Proxy

选择 Manual proxy configuration,填上你自己本地代理的端口。


四、终极技巧:使用国产 IDE 版本

如果你实在懒得折腾,还可以试试国产的 Android Studio 魔改版,比如:

  • GoLand-Android(JetBrains 系列魔改)

  • Himalaya Studio(社区版)

这些版本自带了国内镜像配置,开箱即用,不用你手动改配置。


五、总结一下

项目原始地址替代方案(镜像)
SDK下载dl.google.com清华、中科大、阿里、华为镜像
Gradle 下载services.gradle.org阿里镜像(mirrors.aliyun.com)
Maven依赖mavenCentral, jcenter, google()替换为阿里/清华 maven 镜像
Emulator 镜像下载dl.google.com/android/repository手动下载 + 挂代理

写在最后

如果你已经看腻了“科学上网解决一切”的方案,强烈建议把这些国内镜像配置熟练掌握,毕竟:

国内写 Android,不搞点镜像配置,简直寸步难行。

相关文章:

Android Studio 国内镜像使用与 SDK 下载速度优化指南

本文适用于刚装好 Android Studio、SDK 下载缓慢、更新困难&#xff0c;以及 Gradle 构建缓慢的开发者。我们会讲&#xff1a; 如何替换国内镜像源&#xff08;包括 SDK 和 Gradle&#xff09; 如何解决 emulator 镜像下载失败的问题 一些终极提速技巧&#xff08;比如代理配…...

PyCharm 在 Linux 上的完整安装与使用指南

PyCharm 在 Linux 上的完整安装与使用指南—目录 一、PyCharm 简介二、下载与安装1. 下载 PyCharm2. 安装前的依赖准备3. 安装步骤方法 1&#xff1a;通过 Snap 安装&#xff08;推荐&#xff09;方法 2&#xff1a;手动安装&#xff08;从官网下载 .tar.gz 文件&#xff09;方…...

强化学习(Reinforcement Learning, RL)​​与​​深度强化学习(Deep Reinforcement Learning, DRL)​​

​​1. 基本概念​​ ​​强化学习&#xff08;RL&#xff09;​​ ​​定义​​&#xff1a;通过试错与环境交互&#xff0c;学习策略以最大化累积奖励的机器学习范式。​​核心思想​​&#xff1a;智能体在环境中执行动作&#xff0c;接收奖励信号并更新策略&#xff0c;最…...

初识Redis · C++客户端set和zset

目录 前言&#xff1a; set sadd sismember smembers spop scard sinter sinterstore zset zadd zrange zcard zrem zrank zscore 前言&#xff1a; 前文我们已经介绍了string list hash在Redis-plus-plus的使用&#xff0c;本文我们开始介绍set和zset在redis-plus-pl…...

平板电脑做欧盟网络安全法案(EU)2022/30

平板电脑做欧盟网络安全法案&#xff08;EU&#xff09;2022/30 平板电脑做EN18031,平板电脑做无障碍法规EU2019/882 欧盟委员会于2022年通过补充授权法案 &#xff08;EU&#xff09; 2022/30&#xff0c;明确要求无线电设备需满足网络安全、隐私保护及反欺诈要求。 新规时间轴…...

GeoJSON 格式详解与使用指南

一、引言 GeoJSON 是一种对各种地理数据结构进行编码的格式&#xff0c;它基于 JavaScript 对象表示法&#xff08;JSON&#xff09;&#xff0c;被广泛应用于地理信息系统&#xff08;GIS&#xff09;、地图应用开发以及地理数据的存储和交换。本文将详细介绍 GeoJSON 的格式…...

JavaScript与TypeScript

TypeScript 和 JavaScript 都是用于构建 Web 应用的编程语言&#xff0c;但它们有着不同的设计目标和特性。 一、JavaScript 1. 定义与特点 动态脚本语言&#xff1a;由 Brendan Eich 在 1995 年创建&#xff0c;最初用于浏览器端的交互逻辑。弱类型/动态类型&#xff1a;变量…...

ArcGIS、ArcMap查看.shp文件时属性表中文乱码

Shapefile(.shp): 根本错误原因&#xff1a; Shapefile 的属性数据 .dbf 是老旧格式&#xff0c;默认不含编码信息 解决方法&#xff1a; 在shapefile文件夹目录上&#xff0c;创建一个同名的.cpg文件&#xff0c;内容"oem" 使用ArcGIS再右键打开属性表&#xff0c;…...

C++学习:六个月从基础到就业——内存管理:自定义内存管理(上篇)

C学习&#xff1a;六个月从基础到就业——内存管理&#xff1a;自定义内存管理&#xff08;上篇&#xff09; 本文是我C学习之旅系列的第二十一篇技术文章&#xff0c;也是第二阶段"C进阶特性"的第六篇&#xff0c;主要介绍C中的自定义内存管理技术&#xff08;上篇&…...

大模型基础

1、提示词 典型构成&#xff1a; - **角色**&#xff1a;给 AI 定义一个最匹配任务的角色&#xff0c;比如&#xff1a;「你是一位软件工程师」「你是一位小学数学老师」 - **指示**&#xff1a;对任务进行描述 - **上下文**&#xff1a;给出与任务相关的其它背景信息&#x…...

TDengine 存储引擎设计

简介 TDengine 的核心竞争力在于其卓越的写入和查询性能。相较于传统的通用型数据库&#xff0c;TDengine 在诞生之初便专注于深入挖掘时序数据场景的独特性。它充分利用了时序数据的时间有序性、连续性和高并发特点&#xff0c;自主研发了一套专为时序数据定制的写入及存储算…...

C++回溯算法详解

文章目录 引言第一题1.1 题目解析1.2 解题思路回溯解法队列解法 1.3 解题代码回溯解法队列解法 引言 回溯算法是一种通过深度优先搜索系统性地遍历问题解空间的算法。它的核心思想是"试错"&#xff1a;逐步构建候选解&#xff0c;当发现当前选择无法得到有效解时&am…...

前端Javascript模块化 CommonJS与ES Module区别

一、模块化规范的演进历程 IIFE(立即执行函数)阶段 早期通过立即执行函数实现模块化,利用函数作用域隔离变量,解决全局命名冲突问题。例如通过(function(){})()包裹代码,形成独立作用域。 CommonJS(Node.js)阶段 CommonJS规范以同步加载为核心,通过require和module.exp…...

问题 | RAIM + LSTM 你怎么看???

github&#xff1a;https://github.com/MichaelBeechan CSDN&#xff1a;https://blog.csdn.net/u011344545 RAIM LSTM import numpy as np import tensorflow as tf from tensorflow.keras.layers import LSTM, Dense# RAIM-LSTM 融合模型 class RAIM_LSTM(tf.keras.Model):d…...

进程与线程:03 用户级线程

多进程与操作系统基础 上一个内容我们讲了多进程图像&#xff0c;强调多进程图像是操作系统最核心的图像。我们还通过Windows任务管理器&#xff0c;实际观察了操作系统里的进程。 进程是操作系统的核心内容&#xff0c;管理好多个进程&#xff0c;就能管理好操作系统和CPU。…...

四种阻抗匹配的方式

一、串联端接方式 即靠近输出端的位置串联一个电阻。 要达到匹配效果&#xff0c;串联电阻和驱动端输出阻抗的总和应等于传输线的特征Z0 二、并联端接方式 并联端接又被称为终端匹配。 要达到阻抗匹配的要求&#xff0c;端接电阻应该和传输线的特征阻抗Z0相等。 三、AC并联端…...

WebRTC通信技术EasyRTC音视频实时通话安全巡检搭建低延迟、高可靠的智能巡检新体系

一、方案背景 在现代安防和工业领域&#xff0c;安全巡检是确保设施正常运行和保障人员安全的关键环节。传统的巡检方式往往依赖人工&#xff0c;效率低下且容易出现遗漏。随着技术的发展&#xff0c;实时通信技术EasyRTC为安全巡检提供了更加高效和智能化的解决方案。 二、方…...

使用json_repair修复大模型的json输出错误

json_repair 有些 LLM 在返回格式正确的 JSON 数据时会有些问题&#xff0c;有时会漏掉括号&#xff0c;有时会在数据中添加一些单词。不至于这种错误每次都要丢弃&#xff0c;再次生成太浪费时间了&#xff0c;因此能修复错误时还是要尽量修复。这就是 json_repair 的主要目的…...

聊透多线程编程-线程互斥与同步-12. C# Monitor类实现线程互斥

目录 一、什么是临界区&#xff1f; 二、Monitor类的用途 三、Monitor的基本用法 四、Monitor的工作原理 五、使用示例1-保护共享变量 解释&#xff1a; 六、使用示例2-线程间信号传递 解释&#xff1a; 七、注意事项 八、总结 在多线程编程中&#xff0c;线程之间的…...

鸿蒙系统的 “成长烦恼“:生态突围与技术迭代的双重挑战

一、应用生态&#xff1a;从 "有没有" 到 "好不好" 的漫长爬坡 作为一款诞生于中美科技博弈背景下的国产操作系统&#xff0c;鸿蒙&#xff08;HarmonyOS&#xff09;自 2019 年发布以来&#xff0c;已在设备装机量上取得突破 —— 截至 2023 年底&#xf…...

ESP8266_ESP32 Smartconfig一键配网功能

目录 SmartConfig一键配网基本原理设备绑定流程 ESP8266/ESP32 SmartConfig配网AT指令配置方式Arduino程序配置方式 总结 SmartConfig一键配网 SmartConfigTM 是由 TI 开发的配网技术&#xff0c;用于将新的 Wi-Fi 设备连接到 Wi-Fi 网络。它使用移动应用程序将无线网凭据从智…...

图解Agent2Agent(A2A)

🧠 向所有学习者致敬! “学习不是装满一桶水,而是点燃一把火。” —— 叶芝 我的博客主页: https://lizheng.blog.csdn.net 🌐 欢迎点击加入AI人工智能社区! 🚀 让我们一起努力,共创AI未来! 🚀 嘿,朋友们!今天咱们来聊聊 Agentic 应用背后的两大神器:A2A 和 …...

Kotlin基础(①)

open 关键字&#xff1a;打破 Kotlin 的“默认封闭”规则 // 基类必须加 open 才能被继承 open class Animal {// 方法也要加 open 才能被子类重写open fun makeSound() {println("Some sound")} }class Dog : Animal() {override fun makeSound() {println("W…...

Android Kotlin+Compose首个应用

本教程将创建一个简单的基于 Kotlin 语言的 APP&#xff0c;并使用 Compose 来管理 UI。 创建一个基于 Kotlin 的Android 应用 打开 Android Studio&#xff0c;选择New Project来创建一个应用&#xff0c;然后在Phone and Tablet选项卡&#xff0c;选择 Empty Activity&…...

《AI大模型应知应会100篇》第30篇:大模型进行数据分析的方法与局限:从实战到边界探索

大模型进行数据分析的方法与局限&#xff1a;从实战到边界探索 摘要 在金融分析师用自然语言询问季度财报趋势&#xff0c;电商平台通过对话生成用户画像的今天&#xff0c;大模型正在重塑数据分析的协作模式。本文通过实战代码与行业案例&#xff0c;揭示大模型如何成为数据…...

基于SSM+Vue的社群交流市场服务平台【提供源码+论文1.5W字+答辩PPT+项目部署】

作者简介&#xff1a;✌CSDN新星计划导师、Java领域优质创作者、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流。✌ 主要内容&#xff1a;&#x1f31f;Java项目、Python项目、前端项目、PHP、ASP.NET、人工智能…...

Python Cookbook-6.7 有命名子项的元组

任务 Python 元组可以很方便地被用来将信息分组&#xff0c;但是访问每个子项都需要使用数字索引&#xff0c;所以这种用法有点不便。你希望能够创建一种可以通过名字属性访问的元组。 解决方案 工厂函数是生成符合要求的元组的子类的最简单方法: #若在2.4中可使用operator…...

软件功能测试和非功能测试有什么区别和联系?

软件测试是保障软件质量的核心环节&#xff0c;而软件功能测试和非功能测试作为测试领域的两大重要组成部分&#xff0c;承担着不同但又相互关联的职责。 软件功能测试指的是通过验证软件系统的各项功能是否按照需求规格说明书来正确实现&#xff0c;确保软件的功能和业务流程…...

Java Lambda表达式指南

一、Lambda表达式基础 1. 什么是Lambda表达式&#xff1f; 匿名函数&#xff1a;没有名称的函数函数式编程&#xff1a;可作为参数传递的代码块简洁语法&#xff1a;替代匿名内部类的更紧凑写法 2. 基本语法 (parameters) -> expression 或 (parameters) -> { statem…...

K8s使用LIRA插件更新安全组交互流程

在Kubernetes集群中&#xff0c;当使用Lira作为CNI&#xff08;容器网络接口&#xff09;插件&#xff0c;并且需要更新ConfigMap中的安全组&#xff08;&#xff09;securityGroups字段&#xff09;时&#xff0c;实际上你是在配置与Pod网络相关的高级选项。Lira作为一种支持P…...

利用TCP+多进程技术实现私聊信息

服务器&#xff1a; import socket from multiprocessing import Process from threading import Threaduser_dic {}def send_recv(client_conn, client_addr):while 1:# 接收客户端发送的消息res client_conn.recv(1024).decode("utf-8")print("客户端发送…...

【图问答】DeepSeek-VL 论文阅读笔记

《DeepSeek-VL: Towards Real-World Vision-Language Understanding》 1. 摘要/引言 基于图片问答&#xff08;Visual Question Answering&#xff0c;VQA&#xff09;的任务 2. 模型结构 和 三段式训练 1&#xff09;使用 SigLIP 和 SAM 作为混合的vision encoder&#xf…...

深度学习预训练和微调

目录 1. 预训练&#xff08;Pre-training&#xff09;是什么&#xff1f; 2. 微调&#xff08;Fine-tuning&#xff09;是什么&#xff1f; 3. 预训练和微调的对象 4. 特征提取如何实现&#xff1f; 预训练阶段&#xff1a; 微调阶段&#xff1a; 5. 这样做的作用和意义 …...

面经-浏览器/网络/HTML/CSS

目录 1. http缓存机制 缓存机制 流程概述 2. 常见的http状态码 1xx&#xff08;信息性状态码&#xff09; 3xx&#xff08;重定向状态码&#xff09; 4xx&#xff08;客户端错误状态码&#xff09; 5xx&#xff08;服务器错误状态码&#xff09; 3. http和https的区别…...

轻松实现文件批量命名的实用工具

软件介绍 今天要给大家介绍一款超实用的批量文件重命名小工具&#xff0c;它完全可以称得上是同类产品的绝佳替代品。 软件特性 这小工具叫 MiniRenamer&#xff0c;身材十分苗条&#xff0c;大小还不到 300KB 呢。解压完后&#xff0c;不用任何复杂操作&#xff0c;直接就能…...

基于Redis实现高并发抢券系统的数据同步方案详解

在高并发抢券系统中&#xff0c;我们通常会将用户的抢券结果优先写入 Redis&#xff0c;以保证系统响应速度和并发处理能力。但数据的最终一致性要求我们必须将这些结果最终同步到 MySQL 的持久化库中。本文将详细介绍一种基于线程池 Redis Hash 扫描的异步数据同步方案&#…...

【Pandas】pandas DataFrame sub

Pandas2.2 DataFrame Binary operator functions 方法描述DataFrame.add(other)用于执行 DataFrame 与另一个对象&#xff08;如 DataFrame、Series 或标量&#xff09;的逐元素加法操作DataFrame.add(other[, axis, level, fill_value])用于执行 DataFrame 与另一个对象&…...

4.21总结

正式开始设计和实现前端页面 1.目标效果 2.今日实现内容 在前端编写了相应的store,api,utils文件&#xff0c;以便后续的组件复用 2.编写了相应的css文件...

VLA论文精读(十四)PointVLA: Injecting the 3D World into Vision-Language-Action Models

这篇论文瞄准的是2025年在arxiv上发布的一篇VLA领域论文。这篇文章最大的创新点在于将3D点云信息作为补充条件送入模型&#xff0c;而不是DP3一样只用纯3D数据从头训练模型&#xff0c;按照作者的说法这样可以在保留模型原有2D解释能力的同时添加了其3D能力&#xff0c;并且可以…...

BEVDet4D: Exploit Temporal Cues in Multi-camera 3D Object Detection

背景 对于现有的BEVDet方法,它对于速度的预测误差要高于基于点云的方法,对于像速度这种与时间有关的属性,仅靠单帧数据很难预测好。因此本文提出了BEVDet4D,旨在获取时间维度上的丰富信息。它是在BEVDet的基础上进行拓展,保留了之前帧的BEV特征,并将其进行空间对齐后与当…...

Java学习路线--自用--带链接

1.Java基础 黑马&#xff1a;黑马程序员Java零基础视频教程_下部 2.MySQL 尚硅谷&#xff1a;MySQL数据库入门到大牛&#xff0c;mysql安装到优化&#xff0c;百科全书级&#xff0c;全网天花板 3.Redis 黑马&#xff1a;黑马程序员Redis入门到实战教程&#xff0c;深度透…...

【锂电池容量特征提取】NASA数据集锂电池容量特征提取(Matlab完整源码)

目录 效果一览程序获取程序内容代码分享研究内容基于NASA数据集的锂电池容量特征提取方法研究摘要关键词 1. 引言1.1 研究背景1.2 研究意义1.3 研究目的 2. 文献综述2.1 锂电池容量特征提取相关理论基础2.2 国内外研究现状 3. NASA数据集介绍3.1 数据集来源与构成3.2 数据采集方…...

vue2使用markdown-it解析markdown文本

1.安装markdown-it npm instal markdown-it 2. 页面中引用 import MarkdownIt from markdown-it ...const mdRender MarkdownIt(); ...data {return {md: new MarkdownIt(),} } 3. html <p v-html"md.render(conetnt)" ></p>...

云服务器怎么选择防御最合适

用户问的是怎么选择云服务器的防御最合适。这个问题看起来是关于云安全方面的&#xff0c;尤其是如何配置防御措施来保护云服务器免受攻击。首先&#xff0c;我需要理解用户的需求可能是什么。他们可能是一个企业或者个人用户&#xff0c;正在考虑上云&#xff0c;但担心安全问…...

ubuntu20.04安装安装x11vnc服务基于gdm3或lightdm这两种主流的显示管理器。

前言&#xff1a;在服务端安装vnc服务&#xff0c;可以方便的远程操作服务器&#xff0c;而不用非要插上显示器才行。所以在服务器上安装vnc是很重要的。在ubuntu20中&#xff0c;默认的显示管理器已经变为gdm3&#xff0c;它可以带来与 GNOME 无缝衔接的体验&#xff0c;强调功…...

汽车动力转向器落锤冲击试验台

汽车动力转向器落锤冲击试验台依据标准&#xff1a;QC/T29096-1992《汽车转向器总成台架试验方法》&#xff1b;以工控机为控制核心&#xff0c;采用步进电机举升机构&#xff0c;高精度的光电编码器为位置反馈元件。能够自动完成落锤的起吊、精确的定位、释放、冲击过程的测量…...

Mybatis延迟加载、懒加载、二级缓存

DAY22.2 Java核心基础 Mybatis 延迟加载、懒加载 提高程序运行效率的技术 延迟加载&#xff0c;也叫惰性加载或者懒加载 延迟加载如何提升程序的运行效率&#xff1f; 持久层操作有一个原则&#xff1a;Java 程序和数据库交互频率越低越好 Java 程序每次和数据库进行交互…...

Linux网络编程 多进程UDP聊天室:共享内存与多进程间通信实战解析

知识点1【项目功能介绍】 今天我们写一个 UDP &#xff0c;多进程与不同进程间通信的综合练习 我这里说一下 这个项目的功能&#xff1a; 1、群发&#xff08;有设备个数的限制&#xff09;&#xff1a;发送数据&#xff0c;其他所有客户端都要受到数据 2、其他客户端 都 可…...

网络结构及安全科普

文章目录 终端联网网络硬件基础网络协议示例&#xff1a;用户访问网页 OSI七层模型网络攻击&#xff08;Hack&#xff09;网络攻击的主要类别&#xff08;一&#xff09;按攻击目标分类&#xff08;二&#xff09;按攻击技术分类 网络安全防御 典型攻击案例相关名词介绍网络连接…...

CAD文件如何导入BigemapPro

问题描述 在使用 BigemapPro 加载 CAD 文件的过程中&#xff0c;会出现两种不同的情况&#xff1a;部分文件能够被软件自动识别投影并顺利加载&#xff1b;而另一部分文件则无法自动识别投影&#xff0c;需要手动干预才能准确加载到影像上。下面为您详细介绍这两种情况的具体操…...