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代码的编译。

如何选?

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

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

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

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

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

为什么是E5?

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

性能如何?

在所有的配置参考下,最终的表现就是重新编译一套干净的源代码的时间。我查了一网上,如下的配置编译时间大概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分钟,符合预期,比较满意。

好了,硬件环境已经准备好了,接下来就是环境的配置,以及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

相关推荐
Meteors.10 小时前
安卓源码阅读——01.grade设置binding为true时,xml如何进行映射
android·xml
_李小白10 小时前
【android opencv学习笔记】Day 26: 滤波算法之低通滤波与图像缩放插值
android·opencv·学习
NiceCloud喜云11 小时前
Claude Code Routines 实战:三种触发器跑通云端自动化编码
android·运维·数据库·人工智能·自动化·json·飞书
我命由我1234514 小时前
Bugly - Bugly 基本使用( App 质量追踪平台)
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
weiggle15 小时前
第二篇:搭建你的第一个 Compose 项目——开发环境与项目结构
android·前端
阿巴斯甜15 小时前
为什么 AIDL 接口客户端、服务端要写两份一模一样的?
android
weiggle16 小时前
第一篇:Jetpack Compose 宣言——为什么 Android 开发需要声明式 UI
android
城管不管17 小时前
什么是Prompt?
android·java·数据库·语言模型·llm·prompt
weiggle18 小时前
Jetpack Compose 重组机制与性能优化深度剖析
android