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

devtools/2024/12/22 12:56:04/

5、盘符挂载

先定义overlay机制路径,后面storage_list.xml要用到:
在这里插入图片描述
在路径:
rk3188_android4.4.1/device/rockchip/OK1000/overlay/frameworks/base/core/res/res/xml/定义好,注意名字要和emmc的代码片段(往下面看)对应:
在这里插入图片描述

再看emmc片段,名字和上面一一对应:
在这里插入图片描述

看看下面的映射关系:
在这里插入图片描述

把配置好的脚本拷贝相应的位置:
在这里插入图片描述

以上的是Android4.4,主要修改就是storage.list和emmc文件;与Android4.2有很大不同:
在Android4.2中把两个文件vold.fstab
在这里插入图片描述
和emmc.rc
在这里插入图片描述

合并成4.4的一个emmc文件了:
在这里插入图片描述
其他地方变动不大。

最后效果图:
在这里插入图片描述

备注:
Android4.4和4.2分区表parameter的配置也不一样,4.4中多了一个metadata参数,如果不配置这个,系统烧录后会起不来,metadata具体什么用目前不是很清楚,网上也没有查到相应的资料!

参考网址:
http://www.cnblogs.com/sky-zhang/p/3403728.html
http://www.cnblogs.com/bastard/archive/2012/12/03/2799298.html

6、关机、重启对话框

在这里插入图片描述
改变配置文件:
rk3188_android4.4.1/device/rockchip/OK1000/overlay/frameworks/base/core/res/res/values-sw720dp/config.xml
在这里插入图片描述
种瓜得瓜,种豆得豆:
在这里插入图片描述
但是这还不是我们想要的效果,没有reboot功能,继续:
如果你要完成自己很好的定制,你必须的了解Android的Overlay机制,这里有一篇不错的博文:http://www.cnblogs.com/galensphang/p/3826642.html

下面是部分资源:

在这里插入图片描述

代码:
rk3188_android4.4.1/frameworks/base/services/java/com/android/server/power/ShutdownThread.java
在这里插入图片描述

添加相应的变量(注意:你应该很清楚,那些资源该加,那些不该加,应该怎么加!):
rk3188_android4.4.1/frameworks/base/core/res/res/values/symbols.xml
在这里插入图片描述

万事俱备,烧录运行:
在这里插入图片描述

天有不测风云:
不得了,报错,重启…(其实不是shutdown.xml找不到,而是他里面引用的图片资源没有找到,当时我只是放在drawable-mdpi目录下)
百思不能其解,搞啊搞,搞啊搞…搞了很久,Google很久,终于获得点蛛丝马迹,最终来到了这里:
rk3188_android4.4.1/build/target/product/full_base.mk
在这里插入图片描述

添加了ldpi和mdpi,具体为什么要添加,你应该要清楚,这里不做任何解释;而变量:
PRODUCT_AAPT_CONFIG和PRODUCT_AAPT_PREF_CONFIG这里有相关的解释,仅供参考:

在这里插入图片描述

而Android4.2中不是在这里配置的,是在:mini.mk;

功夫不负有心人:
在这里插入图片描述

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


http://www.ppmy.cn/devtools/30813.html

相关文章

k8s部署在虚拟机和物理机区别

在Kubernetes中,部署应用程序的主要区别在于你的基础设施类型。在虚拟机(VM)上部署Kubernetes集群与在物理机上部署Kubernetes集群的主要区别在于资源的隔离方式。 虚拟机: 优点:资源可以被隔离,所以如果你…

Electron打包流程

安装 先安装依赖 apt-get update apt-get install -y wine dpkg fakeroot rpm mono-complete dpkg -add-architecture i386 && apt-get update apt-get install -y win32 rm -rf /var/lib/apt/lists/* 安装electron npm install --save-dev electron --registry ht…

Git高级特性

Git高级特性 子模块(submodule)的使用 子模块的使用可以让你在一个仓库中引用其它仓库的特定版本,方便管理和维护不同的代码库。但要注意,子模块并不是完全独立的仓库,更多的是作为父仓库的一部分存在。因此&#xff…

JavaScript+B/S架构云LIS系统源码C# 6.0+MVC+SQLSugar医院版检验科云LIS系统源码 可提供演示

JavaScriptB/S架构云LIS系统源码MVCSQLSugar医院版检验科云LIS系统源码 可提供演示随着医疗技术的不断发展,医疗机构对于信息化、智能化的需求也越来越高。特别是对于检验科这样的核心科室,如何提高工作效率、降低误差率、提高数据安全性成为了亟待解决的…

数据仓库 vs 数据湖 vs 湖仓一体:如何基于自身数据策略,选择最合适的数据管理方案?

在信息化浪潮席卷全球的今天,数据已经成为企业决策和发展的重要驱动力。无论是电商平台的用户行为分析,还是金融领域的风险预测,亦或是物联网设备的海量数据处理,都离不开高效、灵活的数据存储和处理方式。在这样的背景下&#xf…

【Qt】Qt输出多页pdf

Qt输出多页 pdf 2. 代码 QFile pdfFile("./tmp.pdf");pdfFile.open(QIODevice::WriteOnly);QPdfWriter *pPdfWriter new QPdfWriter(&pdfFile);pPdfWriter->setResolution(300);pPdfWriter->setPageSize(QPageSize(QPageSize::A4));pPdfWriter->setPag…

高德地图在vue3项目中使用:实现画矢量图、编辑矢量图

使用高德地图实现画多边形、矩形、圆&#xff0c;并进行编辑保存和回显。 1、准备工作 参考高德地图官网&#xff0c;进行项目key申请&#xff0c;链接: 准备 2、项目安装依赖 npm i amap/amap-jsapi-loader --save3、地图容器 html <template><!-- 绘制地图区域…

webpack 常用插件

clean-webpack-plugin 这个插件的主要作用是清除构建目录中的旧文件&#xff0c;以确保每次构建时都能得到一个干净的环境。 var { CleanWebpackPlugin } require("clean-webpack-plugin") const path require("path");module.exports {mode: "de…