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、开机音乐

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

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

最后就是代码实现片段:

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

相关推荐
婵鸣空啼3 小时前
GD图像处理与SESSiON
android
sunly_3 小时前
Flutter:导航固定背景图,滚动时导航颜色渐变
android·javascript·flutter
用户2018792831674 小时前
简单了解android.permission.MEDIA_CONTENT_CONTROL权限
android
_一条咸鱼_4 小时前
Android Runtime类卸载条件与资源回收策略(29)
android·面试·android jetpack
顾林海4 小时前
Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理
android·面试·性能优化
砖厂小工4 小时前
Now In Android 精讲 8 - Gradle build-logic 现代构建逻辑组织方式
android
玲小珑4 小时前
Auto.js 入门指南(八)高级控件与 UI 自动化
android·前端
harry235day5 小时前
Compose 带动画的待办清单列表页
android·android jetpack
vocal5 小时前
我的安卓第一课:四大组件之一Activity及其组件RecyclerView
android
咕噜企业签名分发-淼淼5 小时前
如何实现安卓端与苹果端互通的多种方案
android