嵌入式系统移植 - ANDROID6.0

mac2025-02-06  14

嵌入式系统移植 - ANDROID6.0

功能定义硬件定义软件功能 获取源码首次编译开始移植uBootKernelFrameworkSystem-APP

功能定义

硬件定义

类型模组说明SOCRK3126CPMURK816TPGSL1680LCD3.9寸(ST7701S SPI+RGB)RFAP6212(BT+WIFI)LED双色灯一枚(NotificationLED / PowerLED)KEY五个物理按键(Power / Volume- / Volume+ / Func1 / Func2)FlashFORESEE NCEMAD9D-16GDDRSAMSUNG 16bit 1G

软件功能

支持硬件基础功能SystemUI 界面定制 Tips: Android 5.0 之前使用的是 Dalvik 编译器,当时是边解释边执行,效率偏低。 Android 5.1 之后使用的是 Art 编译器,就是在APP首次安装时,便解释成机器语言,这样做虽然可以提高速度,但是APP安装的速度会变慢。 Android 7.0 中加入了 Jit ,Art 与它同时运行,Art 负责核心代码编译,Jit 则是将没有编译的部分在执行时进行编译。

获取源码

从代码仓库同步代码 repo init --repo-url ssh://git@localhost/repo.git -u ssh://git@localhost/rk_repo/platform/manifest.git -b android6.0 -m tower_smartdream_v1.0.xml'

根据项目名切出一份目标分支 repo forall -c 'git checkout -b develop'

首次编译

$> source build/envsetup.sh $> lunch 13 $> ./build.sh 顺序执行以上三个动作, 编译完成后会在 /RKTools/linux/Linux_Pack_Firmware/rockdev/ 下生成 Update.img 1. prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.15-4.8//x86_64-linux/bin/ld: error: /home/hains/android/system/out/host/linux-x86/obj32/SHARED_LIBRARIES/libart_intermediates/arch/x86/quick_entrypoints_x86.o: unsupported reloc 43 against global symbol art::Runtime::instance_ 解决方法: cp /usr/bin/ld.gold prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.15-4.8/x86_64-linux/bin/ld

开始移植

uBoot

添加关机充电(cmd_charge.c)动画优化 RK816 PMU-LDO 控制逻辑

Kernel

修改内核打包方式添加客制化启动Log信息添加客制化内核配置项添加后门脚本rk312x支持内置声卡切换左右声道

Framework

修改 Android 系统默认配置项修改 Android 系统过场动画时间修改 wpa_supplicant 支持首次开机默认 AP 配置 修改 wpa_supplicant.conf 文件权限添加 5 个自定义保留按键添加边缘左右手势动作客制化系统 API 接口给到应用

System-APP

定制 SystemUI 界面
最新回复(0)