Android4.4真机移植过程笔记(一)

1、RK源码编译

获取内核源码:

git clone [email protected]:rk3188_kernel -b xtc_ok1000

内核编译环境:

从172.28.1.132编译服务器的/data1/ZouZhiPing目录下拷贝toolchain.tar.gz(交叉编译工具链)并解压到与rk3188_kernel同级目录下

内核编译:

make rk3188_OK1000_ssd2828_defconfig

make kernel.img -j32

获取android源码:

git clone [email protected]:rk3188_android4.4.1 -b xtc_ok1000

android编译:

lunch rk3188-eng(Android原生系统)

make -j32

./mkimage ota

2、建立自己的产品分支[OK1000]

相关知识:

/

在Android编译系统中,产品编译项相关配置文件都在device/<厂商名>/目录下。厂商的产品列表由AndroidProducts.mk文件定义,目标产品信息由<产品名>.mk定义,目标设备信息由BoardConfig.mk和AndroidBoard.mk定义。创建新产品的编译项就是创建上述几个mk文件的过程。

1、创建厂商目录

不同的手机厂商对应device/下不同目录,在厂商目录下放置该厂商的产品相关信息,我们厂商名定义为mycompany。

$ cd ~/android/android_source

$ mkdir device/mycompany

2、在厂商目录下创建设备目录

定义设备名为mytable。

$ mkdir device/mycompany/mytable

3、添加新产品编译项配置文件,该配置文件在执行source build/envsetup.sh时,被加载执行$ vim device/mycompany/mytable/vendorsetup.sh在vendorsetup.sh文件时添加下面一条命令,用于向编译系统添加编译项,新添加的产品名为:myproduct,编译类型为eng。add_lunch_combo myproduct-eng

注:add_lunch_combo命令是build/envsetup.sh脚本中定义的函数,表示将一个新产品编译项添加到lunch菜单里。

4、创建产品列表配置文件AndroidProducts.mk

AndroidProducts.mk文件用于定义当前厂商所拥有的所有产品列表,每个产品都对应一个配置文件:

$ vim device/mycompany/mytable/AndroidProducts.mk

在产品列表配置文件中添加如下内容:

PRODUCT_MAKEFILES :=
( L O C A L D I R ) / f u l l p r o d u c t . m k 注: P R O D U C T M A K E F I L E S 变量用于保存所有产品配置信息列表, (LOCAL_DIR)/full_product.mk 注:PRODUCT_MAKEFILES变量用于保存所有产品配置信息列表, (LOCALDIR)/fullproduct.mk注:PRODUCTMAKEFILES变量用于保存所有产品配置信息列表,(LOCAL_DIR)表示当前目录,full_product.mk表示某一款产品的配置

文件。

/

主要遇到两个问题:

A、编译烧录运行重启,主要问题是,有两个.so库没有拷贝到:system/lib

只要把上面两个参数设置对:rk3188和OK1000;只要这个搞对了,机器就能正常重启了。

B、显示效果整体效果很小,很多的机器默认的配置没有配置好;解决办法就是把原生RK的system.prop【请查找:build.prop生成过程分析 一文分析】拷贝过来【第二页标注所示】,重新编译,达到了预想的效果。

3、开机动画

A、

编写脚本,把相应的资源拷贝到相应的位置即可:

B、修改代码:

说明:具体的开机动画有相应的说明文档;如有需求请查阅...

4、开机音乐

先看看系统拷贝开机音乐资源的流程:

下面就是把所需的资源从存放的位置拷贝到相应的地方:

最后就是代码实现片段:

觉得本文对你有用,麻烦点赞或关注或收藏,你的肯定是我创作的无限动力,谢谢!!!

相关推荐
编程乐学(Arfan开发工程师)3 小时前
06、基础入门-SpringBoot-依赖管理特性
android·spring boot·后端
androidwork4 小时前
使用 Kotlin 和 Jetpack Compose 开发 Wear OS 应用的完整指南
android·kotlin
繁依Fanyi5 小时前
Animaster:一次由 CodeBuddy 主导的 CSS 动画编辑器诞生记
android·前端·css·编辑器·codebuddy首席试玩官
奔跑吧 android7 小时前
【android bluetooth 框架分析 02】【Module详解 6】【StorageModule 模块介绍】
android·bluetooth·bt·aosp13·storagemodule
田一一一11 小时前
Android framework 中间件开发(三)
android·中间件·framework·jni
leoufung12 小时前
ECPF 简介
linux·网络·kernel
androidwork15 小时前
掌握 Kotlin Android 单元测试:MockK 框架深度实践指南
android·kotlin
田一一一15 小时前
Android framework 中间件开发(二)
android·中间件·framework
追随远方16 小时前
FFmpeg在Android开发中的核心价值是什么?
android·ffmpeg
神探阿航17 小时前
HNUST湖南科技大学-安卓Android期中复习
android·安卓·hnust