首页 安卓教程

畅享5的设备树已经开源,但是不会用?没事,看这里你就会明白怎么用。

硬件设施

CPU: Core i3 530 及以上的 CPU(推荐 Intel Core i7 6 代以上或 AMD Ryzen 系列 CPU)
RAM: 8GB 及以上的 CPU(推荐 16GB 及以上)
HDD: HDD 120GB 及以上剩余存储空间(推荐 SSD 256GB 及以上)

其实CPU差点没事,就是编译慢点浪费点电费么,天天吃鸡也没见你们心疼电费啊

操作系统

新手建议用Ubuntu,环境配置可以参考云梦
本教程采用Arch Linux(确保配置好了archlinuxcn源)

安装依赖

我们先安装yay包管理器,支持AUR

主要

 yay -S aosp-devel
 

额外的(LineageOS可能会用)

 yay -S lineageos-devel

建议安装Arch时一定要安装base-devel,会给你配置好一些编译软件包的软件
注意: 安装 maven 和 gradle 去编译LineageOS可能会提高构建速度,因为构建过程优先使用系统的

JAVA

因为我们编译的是7所以安装openjdk8

sudo pacman -S jdk8-openjdk
 

Repo

sudo pacman -S repo

设置git

git config --global user.email "[email protected]"
git config --global user.name "Your Name"

双引号中的 [email protected] 填写您的 github 所使用的邮箱。注意格式,不要把双引号去掉。
双引号中的 “Your Name” 填写您的 github 用户名,不要把双引号去掉。

切换Python

必须要切换Python2,不然编译报错

virtualenv2 venv
source venv/bin/activate

同步源码(Ubuntu&Arch通用)

我们用LineageOS打个比方

创建目录

mkdir ~/android
cd ~/android
 

下载源码

  
repo init -u https://github.com/LineageOS/android.git -b cm-14.1
repo sync

完成后我们对设备树进行Clone

   
git clone https://github.com/ReallySnow/android_device_huawei_tit_tl00.git -b lineage14.1 device/huawei/tit
git clone https://github.com/ReallySnow/android_vendor_huawei_tit_tl00.git -b lineage14.1 vendor/huawei/tit

打上补丁

因为畅享5特殊性需要修改源码

cd device/huawei/tit/patches
./apply.sh
cd ../../../..
    

初始化和编译

export LC_ALL=C
source build/envsetup.sh
lunch mk_tit-userdebug
make -j8 bacon

※※编译速度由配置取决

如果你想用设备树编译其他的

此设备树可以编译其他源码,但是不保证会出问题

如何修改

修改Device

例如我们要编译AEX

打开device目录

修改AndroidProducts.mk修改为以下内容
修改前:

PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/device.mk

修改后:

PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/aosp_tit.mk

重新命名lineage.mk为aosp_tit.mk并修改
修改前:

# Inherit some common CM stuff.
$(call inherit-product, vendor/cm/config/common_full_phone.mk)

# Inherit device configuration
$(call inherit-product, device/huawei/tit/device.mk)

# Release name
PRODUCT_RELEASE_NAME := HUAWEI TITAN

## Device identifier. This must come after all inclusions
PRODUCT_DEVICE := tit
PRODUCT_NAME := cm_tit
PRODUCT_BRAND := HUAWEI
PRODUCT_MODEL := HUAWEI TITAN
PRODUCT_MANUFACTURER := HUAWEI
PRODUCT_RESTRICT_VENDOR_FILES := false

PRODUCT_DEFAULT_LANGUAGE := en
PRODUCT_DEFAULT_REGION   := US

PRODUCT_BUILD_PROP_OVERRIDES += BUILD_UTC_DATE=0

修改后:

# Inherit some common CM stuff.
$(call inherit-product, vendor/aosp/common.mk)

# Inherit device configuration
$(call inherit-product, device/huawei/tit/device.mk)

# Release name
PRODUCT_RELEASE_NAME := HUAWEI TITAN

## Device identifier. This must come after all inclusions
PRODUCT_DEVICE := tit
PRODUCT_NAME := aosp_tit
PRODUCT_BRAND := HUAWEI
PRODUCT_MODEL := HUAWEI TITAN
PRODUCT_MANUFACTURER := HUAWEI
PRODUCT_RESTRICT_VENDOR_FILES := false

PRODUCT_DEFAULT_LANGUAGE := en
PRODUCT_DEFAULT_REGION   := US

PRODUCT_BUILD_PROP_OVERRIDES += BUILD_UTC_DATE=0

到时lunch直接使用lunch aosp_tit-userdebug就OK了

感谢

  • s4704

最后自己动手相信你们一定能编译出自己的ROM
※发包需注明Device来历




文章评论

目录