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

Android项目优化同步速度

最近项目需要使用ffmpeg,需要gradle配置引入ffmpeg库,发现原来通过google官方的代码仓,下载太慢了,每秒KB级别的速度。(之前下gradle/gradle plugin都不至于这么慢),于是想到配置国内镜像源来提升下速度。配置完后,速度达到MB级别。这种配置之前也时常接触,但是没系统的整理下,这次就来整理下。本文用到阿里云的仓库,当然国内还有别的仓库,网上一搜就那几个。

settings.gradle配置地址

原来settings.gradle文件中相关内容如下。

repositories {
    maven {
        url 'https://maven.aliyun.com/nexus/content/repositories/releases/'
    }
    google()
    mavenCentral()
}

不过ffmpeg没从阿里的那个地址找到,因为并不在那个仓。

这次配置成下面。

repositories {
    maven { url 'https://maven.aliyun.com/repository/central' }
    maven { url 'https://maven.aliyun.com/repository/google' }
    maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
    maven { url 'https://maven.aliyun.com/repository/public' }
    //mavenCentral()//实在没资源就加上这个吧
    //google()//实在没资源就加上这个吧
}

这么配置,可以保证能满足大部分的android项目开发要求,gradle/gradle plugin/一些常用库等等都能在这找到去同步下载(只要相应我们要的东西在浏览器上能访问到,那就是存在这东西了),只是版本肯定没google官方地址提供的版本那么新,不过如果没特殊要求,我们其实不用取那么新的版本。

引入的库的写法

build.gradle里的implementation后面接的库的写法可以参照下面。

加入你要引用的文件信息:

dependencies {

  compile '[GROUP_ID]:[ARTIFACT_ID]:[VERSION]'

}

转自阿里云官方说明(https://developer.aliyun.com/mvn/guide)。

结合代码图1和自己理解说明下各个字段的对应关系。

图1

比如拿下面这句来举例。

implementation "androidx.camera:camera-core:${camerax_version}"

GROUP_ID就是androidx.camera,在阿里云搜索的话,就是输入这个来搜索,如图2。

图2

ARTIFACT_ID就是camera-core,搜索列表中文件名就有包含。

VERSION就是对应${camerax_version},这里是定义了个常量,如下。

def camerax_version = "1.3.0-alpha06"

也就是1.3.0-alpha06,一般来说,代码中的版本号就填搜索结果中的version那一列内容,如图2红框。

这里说下implementation最终确定下来用哪个版本库的技巧。

在用GROUP_ID搜索时,能找到同一个版本后,不同后缀名的文件,后缀有module、pom、jar、aar等,如图3,具体要用哪个,你可以另外再确认下这些后缀名对应文件的作用是什么,这些网上都有资料这里不赘述。一般来说,如果我们只是要引入这个库,而不需要将对应的软件下载下来集成到我们项目工程的话,你只要通过GROUP_ID搜索到,同时ARTIFACT_ID也找到有,那就说明这个库在阿里云是存在的,直接配到代码中就好。当然也有例外,因为android项目在根据implement构建下载对应库时,会下载不同后缀的文件去,搞不好可能就是某个版本的jar或是pom或是其他文件不存在。如果碰到这情况,另外换个版本号就好,多试几次。实在没有,那就最后考虑加入那个龟速的官方地址吧。

图3

相关文章:

Android项目优化同步速度

最近项目需要使用ffmpeg,需要gradle配置引入ffmpeg库,发现原来通过google官方的代码仓,下载太慢了,每秒KB级别的速度。(之前下gradle/gradle plugin都不至于这么慢),于是想到配置国内镜像源来提…...

在线教育网站项目第二步 :学习roncoo-education,服务器为ubuntu22.04.05

一、说明 前端技术体系:Vue3 Nuxt3 Vite5 Vue-Router Element-Plus Pinia Axios 后端技术体系:Spring Cloud Alibaba2021 MySQL8 Nacos Seata Mybatis Druid redis 后端系统:roncoo-education(核心框架:S…...

STM32-GPIO详解

目录 一:GPIO基本概念 ​编辑 二:GPIO的实际应用 三:功能描述 四:GPIO库函数 五:寄存器 GPIO相关寄存器功能 一:GPIO基本概念 GPIO是英文General Purpose Input/Output的缩写,中文翻译为…...

【Framework系列之Client】UIManager和UIPanel模块介绍

今天来介绍一下UIManager和UIPanel模块,话不多说直接开始。 UIManager 功能介绍 UIManager是管理UIPanel的唯一模块,UIManager的主要功能包括: 提供打开、隐藏、关闭UIPanel的相关接口。负责UIPanel对象的创建以及初始化。负责储存UIPanel对…...

阿里云操作系统控制台——ECS操作与性能优化

引言:在数字化时代,云服务器作为强大的计算资源承载平台,为企业和开发者提供了灵活且高效的服务。本文将详细介绍如何一步步操作云服务器 ECS,从开通到组件安装,再到内存全景诊断,帮助快速上手,…...

【长安大学】苹果手机/平板自动连接认证CHD-WIFI脚本(快捷指令)

背景: 已经用这个脚本的记得设置Wifi时候,关闭“自动登录” 前几天实在忍受不了CHD-WIFI动不动就断开,一天要重新连接,点登陆好几次。试了下在网上搜有没有CHD-WIFI的自动连接WIFI自动认证脚本,那样我就可以解放双手&…...

第51天:Web开发-JavaEE应用SpringBoot栈身份验证JWT令牌Security鉴权安全绕过

#知识点 1、安全开发-JavaEE-身份验证-JWT&Security 2、安全开发-JavaEE-安全问题-不安全写法&版本漏洞 #开发框架-SpringBoot 参考:Spring Boot 中文文档 一、身份验证的常见技术: 1、JWT 2、Shiro 3、Spring Security 4、OAuth 2.0 5、SSO 6、…...

中原银行:从“小机+传统数据库”升级为“OceanBase+通用服务器”,30 +系统成功上线|OceanBase DB大咖说(十五)

OceanBase《DB 大咖说》第 15 期,我们邀请到了中原银行金融科技部数据团队负责人,吕春雷。本文为本期大咖说的精选。 吕春雷是一位资历深厚的数据库专家,从传统制造企业、IT企业、甲骨文公司到中原银行,他在数据库技术与运维管理…...

Java面试第八山!《Spring框架》

一、Spring框架概述 Spring是Java企业级应用开发的核心框架,通过控制反转(IoC)和 面向切面编程(AOP)实现模块解耦,简化开发流程。其核心优势包括依赖注入、声明式事务管理、集成主流ORM框架(如…...

LangChain教程 - Agent - 支持 9 种 ReAct 交互

引言 LangChain 总结了 9 种经典的复杂模型交互模式,每种都针对特定任务设计,兼具独特优势与适用场景,内容涵盖: ReAct、Function Call、知识库、搜索等,使用这些模式可以大大简化这些场景开发难度。这些模式可以使用…...

蓝桥杯备赛日记【day1】(c++赛道)

一、裁纸刀问题(2022、规律、思维、省赛) 解法思路: 参考题目给出的例子发现。不管要裁剪多少次。最外围的四次是固定的。然后通过观察发现,我们的行的裁剪次数为(m-1) 次,而每行都需要裁剪列数…...

【大模型基础_毛玉仁】1.4 语言模型的采样方法

【大模型基础_毛玉仁】1.4 语言模型的采样方法 1.4 语言模型的采样方法1.4.1 概率最大化方法1)贪心搜索(GreedySearch)2)波束搜索(BeamSearch) 1.4.2 随机采样方法1)Top-K 采样2)Top…...

[内网安全] Windows 本地认证 — NTLM 哈希和 LM 哈希

关注这个专栏的其他相关笔记:[内网安全] 内网渗透 - 学习手册-CSDN博客 0x01:SAM 文件 & Windows 本地认证流程 0x0101:SAM 文件简介 Windows 本地账户的登录密码是存储在系统本地的 SAM 文件中的,在登录 Windows 的时候&am…...

基于SNR估计的自适应码率LDPC编译码算法matlab性能仿真,对比固定码率LDPC的系统传输性能

目录 1.算法仿真效果 2.算法涉及理论知识概要 2.1 基于序列的SNR估计 2.2 基于SNR估计值进行码率切换 2.3 根据数据量进行码率切换 3.MATLAB核心程序 4.完整算法代码文件获得 1.算法仿真效果 matlab2022a仿真结果如下(完整代码运行后无水印)&…...

opencv 模板匹配方法汇总

在OpenCV中,模板匹配是一种在较大图像中查找特定模板图像位置的技术。OpenCV提供了多种模板匹配方法,通过cv2.matchTemplate函数实现,该函数支持的匹配方式主要有以下6种,下面详细介绍每种方法的原理、特点和适用场景。 1. cv2.T…...

Embedding技术:DeepWalkNode2vec

引言 在推荐系统中,Graph Embedding技术已经成为一种强大的工具,用于捕捉用户和物品之间的复杂关系。本文将介绍Graph Embedding的基本概念、原理及其在推荐系统中的应用。 什么是Graph Embedding? Graph Embedding是一种将图中的节点映射…...

微信小程序注册组件

在微信小程序中注册组件分为自定义组件的创建和全局/局部注册,下面为你详细介绍具体步骤和示例。 自定义组件的创建 自定义组件由四个文件组成,分别是 .js(脚本文件)、.json(配置文件)、.wxml&#xff08…...

【docker】安装mysql,修改端口号并重启,root改密

我的docker笔记 【centOS】安装docker环境&#xff0c;替换国内镜像 1. 配置镜像源 使用阿里云镜像加速器&#xff0c;编辑/etc/docker/daemon.json sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-EOF {"registry-mirrors": ["https:/…...

自定义wordpress三级导航菜单代码

首先&#xff0c;在你的主题functions.php文件中&#xff0c;添加以下代码以注册一个新的菜单位置&#xff1a; function mytheme_register_menus() {register_nav_menus(array(primary-menu > __(Primary Menu, mytheme))); } add_action(init, mytheme_register_menus); …...

洛谷 P1480 A/B Problem(高精度详解)c++

题目链接&#xff1a;P1480 A/B Problem - 洛谷 1.题目分析 1&#xff1a;说明这里是高精度除以低精度的形式&#xff0c;为什么不是高精度除以高精度的形式&#xff0c;是因为它很少见&#xff0c;它的模拟方式是用高精度减法来做的&#xff0c;并不能用小学列竖式的方法模拟…...

新手零基础入门:跟着快马生成的互动教程完成jdk17下载安装与第一个程序

作为一名Java初学者&#xff0c;第一次接触JDK安装可能会觉得有些迷茫。最近我在InsCode(快马)平台上尝试了一个JDK17安装教程项目&#xff0c;整个过程比我预想的要简单很多。下面就把我的学习笔记分享给大家&#xff0c;希望能帮助到同样刚入门的朋友。 JDK17下载步骤 首先需…...

为什么XianyuAutoAgent的日志监控是AI客服稳定运行的守护神

为什么XianyuAutoAgent的日志监控是AI客服稳定运行的守护神 【免费下载链接】XianyuAutoAgent 智能闲鱼客服机器人系统&#xff1a;专为闲鱼平台打造的AI值守解决方案&#xff0c;实现闲鱼平台724小时自动化值守&#xff0c;支持多专家协同决策、智能议价和上下文感知对话。 …...

别再手动画流程图了!用Flowable 6.8.1 + SpringBoot 3分钟搞定请假审批系统

3分钟集成Flowable 6.8.1&#xff1a;SpringBoot请假审批系统实战指南 当团队需要快速上线一个请假审批模块时&#xff0c;传统开发方式往往需要编写大量状态流转代码。去年我们团队就遇到过这种情况——产品经理突然要求三天内上线OA系统的请假功能&#xff0c;而当时我们连数…...

小米平板5 Windows驱动包:让Windows在平板上流畅运行的终极指南

小米平板5 Windows驱动包&#xff1a;让Windows在平板上流畅运行的终极指南 【免费下载链接】MiPad5-Drivers Based on Surface Duo Drivers. 项目地址: https://gitcode.com/gh_mirrors/mi/MiPad5-Drivers 想要在小米平板5上完美运行Windows系统吗&#xff1f;MiPad5-D…...

Wiki.js日志系统终极指南:从记录到安全监控的全面解析

Wiki.js日志系统终极指南&#xff1a;从记录到安全监控的全面解析 【免费下载链接】wiki- Wiki.js | A modern and powerful wiki app built on Node.js 项目地址: https://gitcode.com/GitHub_Trending/wiki78/wiki- 当您的团队在Wiki.js中协作编辑文档时&#xff0c;是…...

如何快速构建安全高效的AWS VPC网络架构:完整实战指南

如何快速构建安全高效的AWS VPC网络架构&#xff1a;完整实战指南 【免费下载链接】aws-cloudformation-templates awslabs/aws-cloudformation-templates: 是一个包含各种 AWS CloudFormation 模板的存储库。适合查找和学习 AWS CloudFormation 模板的示例&#xff0c;以及用于…...

Codesys实战排障手记:从证书过期到RTC时钟校准

1. 当Codesys突然弹出证书过期警告时 那天我正在客户现场调试禾川HCQ1系列PLC&#xff0c;刚打开Codesys V3.5开发环境&#xff0c;一个鲜红的证书过期警告就弹了出来。这种突如其来的报错让现场气氛瞬间紧张——产线等着调试&#xff0c;设备等着联调&#xff0c;而系统却在关…...

3步解锁音乐收藏新维度:从音质到视觉的全方位升级

3步解锁音乐收藏新维度&#xff1a;从音质到视觉的全方位升级 【免费下载链接】Netease_url 网易云无损解析 项目地址: https://gitcode.com/gh_mirrors/ne/Netease_url 在数字音乐收藏领域&#xff0c;我们常常面临三重困境&#xff1a;想听无损音质却受限于平台限制&a…...

QWEN-AUDIO应用案例:如何制作一个会讲故事的AI语音玩具

QWEN-AUDIO应用案例&#xff1a;如何制作一个会讲故事的AI语音玩具 1. 项目背景与创意来源 1.1 儿童教育市场的语音需求 在当今儿童教育领域&#xff0c;互动性和趣味性成为产品设计的关键要素。传统的故事机往往只能播放预录制的音频内容&#xff0c;缺乏个性化和互动能力。…...

终极桌面伴侣BongoCat:让键盘鼠标操作变得生动有趣的虚拟猫咪

终极桌面伴侣BongoCat&#xff1a;让键盘鼠标操作变得生动有趣的虚拟猫咪 【免费下载链接】BongoCat 让呆萌可爱的 Bongo Cat 陪伴你的键盘敲击与鼠标操作&#xff0c;每一次输入都充满趣味与活力&#xff01; 项目地址: https://gitcode.com/gh_mirrors/bong/BongoCat …...