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

1-如何挑选Android编译服务器

前几天,我在我的星球发了一条动态:入手洋垃圾、重操老本行。没错,利用业余时间,我又重新捣鼓捣鼓代码了。在接下来一段时间,我会分享我从服务器的搭建到完成Android产品开发的整个过程。这些东西之前都是折腾过的,如今再来一次,我就会把整个过程用文字记录下来。今天第一篇就是关于服务器的挑选。

为什么需要服务器

Android系统开发,通常是需要对大几G的Android源代码编译,对编译环境有一定的要求。我记得我刚开始接触Android的时候是Android2.3(Gingerbread),总代码量不到10G。经过10多年的发展,现在已经是Android15(Vanilla Ice Cream),代码量已经激增到一百G。我下载的AOSP Android13,大概有140G代码,整个编译完成之后约为246G

 

koffu@koffu-desktop:~/projects$ du --max-depth=0 -h aosp_tsinghua/ 246G aosp_tsinghua/ koffu@koffu-desktop:~/projects/aosp_tsinghua$ du -h out/ --max-depth=0 104G out/

所以,所有工作的起点,需要配置一台比普通PC性能更强的设备,用于Android代码的编译。

loading

如何选?

服务器的选择主要有以下3种方式:

  • 租用云服务器:阿里云、腾讯云等。根据你的需求配额CPU和内存、存储。这个方案的优点就是简单,环境都云商配置好,你自己选择一下即可。缺点就是贵,一般是几百到几千一年不等,还有一个不可忽视的缺点就是大文件上传下载不慢。

  • 配置一台强一点的笔记本:笔记本拥有移动办公的优点,但因为兼顾电池使用,一般会使用低功耗的CPU,以及普通的PC配置,那么就需要选择高配的电脑。费用虽然是一次性的,但也不低,好一点需要需要5-6K;

  • 淘一台强一点的服务器:服务器众所周知,是拥有较高的性能,一般会有多CPU,多个扩展接口。一般有塔式和刀片式两种,刀片式的就是放在机房机架上,最好是需要有独立的工作机房,能够防尘散热,同时也隔离工作噪声。而塔式可以在家里或者办公室放,具备较好的散热体系,不需要单独的空调机房。价格一般是2千左右。

loading

众所周知,第三种方式是兼容成本和性能,最适合新手入门。我就是在闲鱼入手了一台二手的至强E5的塔式服务器,俗称洋垃圾。内存是64G,然后自己配置了一个4T的硬盘,整个下来1800左右。

为什么是E5?

Intel Xeon E5是英特尔公司推出的一款针对服务器市场的处理器系列,它以提供高性能、高可靠性和丰富的内置功能而著称。第五代至强E5处理器在多个方面进行了显著的改进和优化,最主要是便宜,从几块到一百多块不等。E5从上市到现在也十多年了,所以也发展了丰富的产品线,这个在挑选的时候要注意辨别。小心商家用十年前的芯片卖给你,帮他消库存,虽然便宜,但性能就会大大折扣。推荐看一下B站这个视频,对整个E5家庭的性能和价格有一个大致的了解:2024年7月X99平台至强E5V3V4价格行情推荐[1]

loading

性能如何?

在所有的配置参考下,最终的表现就是重新编译一套干净的源代码的时间。我查了一网上,如下的配置编译时间大概1个多小时,我就按照这样的配置挑战。

预估的编译时间:参考[2]

CPU : Intel® Xeon® CPU E5-2686 v4 @ 2.30GHz * 2

内存 : 128GB

Android 11 编译时间(01:12:30 (hh:mm:ss)

最终我入手的配置如下:

CPU: Intel® Xeon® CPU E5-2680 v4 @ 2.30GHz * 2 主板:华南金牌X99-F8D 内存:64GB 存储:512G固态硬盘(系统)+4T机械硬盘(数据)

入手之后,我第一时间安装好Ubuntu22.04系统,编译了公版的AOSP13,整个时间是1小时16分钟,符合预期,比较满意。

loading

好了,硬件环境已经准备好了,接下来就是环境的配置,以及AOSP代码下载,以及后续的开发。

参考资料

[1]

2024年7月X99平台至强E5V3V4价格行情推荐: https://www.bilibili.com/video/BV1nw4m1Y7bb/?share_source=copy_web&vd_source=6a19100227d918533c46e871e307af8e

[2]

参考: https://blog.csdn.net/yyzsyx/article/details/120583022

http://www.lryc.cn/news/404889.html

相关文章:

  • 【JS逆向课件:第十六课:Scrapy基础2】
  • 使用 PowerShell 自动化图像识别与鼠标操作
  • 组队学习——支持向量机
  • 【数据中心】数据中心的IP封堵防护:构建网络防火墙的基石
  • LangChain的使用详解
  • Modbus转BACnet/IP网关快速对接Modbus协议设备与BA系统
  • 万字长文之分库分表里无分库分表键如何查询【后端面试题 | 中间件 | 数据库 | MySQL | 分库分表 | 其他查询】
  • 如何查看jvm资源占用情况
  • 科研绘图系列:R语言TCGA分组饼图(multiple pie charts)
  • ReadAgent,一款具有要点记忆的人工智能阅读代理
  • 构建智能:利用Gradle项目属性控制构建行为
  • 如何通过smtp设置使ONLYOFFICE协作空间服务器可以发送注册邀请邮件
  • SQL labs靶场-SQL注入入门
  • HarmonyOS应用开发者高级认证,Next版本发布后最新题库 - 单选题序号4
  • 使用LSTM完成时间序列预测
  • 《数据结构:顺序实现二叉树》
  • 【HarmonyOS】HarmonyOS NEXT学习日记:六、渲染控制、样式结构重用
  • 【防火墙】防火墙NAT、智能选路综合实验
  • VUE之---slot插槽
  • linux、windows、macos,命令终端清屏
  • 【RaspberryPi】树莓派Matlab/Simulink支持包安装与使用
  • 嵌入式人工智能(10-基于树莓派4B的DS1302实时时钟RTC)
  • C++ | Leetcode C++题解之第275题H指数II
  • 编写DockerFile
  • TCP并发服务器多线程
  • 技术速递|C# 13:探索最新的预览功能
  • Python设计模式:巧用元类创建单例模式!
  • 构建自主可控的工业操作系统,筑牢我国工业安全堡垒
  • WPF串口通讯程序
  • 汽车技术智能化程度不断提升,线束可靠性如何设计?