功能定义
硬件定义
类型 | 模组说明 |
---|---|
SOC | RK3126C |
PMU | RK816 |
TP | GSL1680 |
LCD | 3.9寸(ST7701S SPI+RGB) |
RF | AP6212(BT+WIFI) |
LED | 双色灯一枚(NotificationLED / PowerLED) |
KEY | 五个物理按键(Power / Volume- / Volume+ / Func1 / Func2) |
Flash | FORESEE NCEMAD9D-16G |
DDR | SAMSUNG 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
Kernel
Framework
- 修改 Android 系统默认配置项
- 修改 Android 系统过场动画时间
- 修改 wpa_supplicant 支持首次开机默认 AP 配置
- 修改 wpa_supplicant.conf 文件权限
- 添加 5 个自定义保留按键
- 添加边缘左右手势动作
- 客制化系统 API 接口给到应用