如何修改Recovery的字符串资源
来源:互联网 发布:淘宝网冬天皮鞋男士 编辑:程序博客网 时间:2024/06/05 06:33
前言:在实际的ROM修改中,Recovery的修改还是会经常遇到的,这篇文章主要讲解如何修改Recovery字符串。
首先我们先了解下大概的流程。
1.screen_ui.cpp 中的ScreenRecoveryUI::Init() 负责加载基本资源信息。
2.Init()调用
LoadLocalizedBitmap("installing_text", &backgroundText[INSTALLING_UPDATE]);
LoadLocalizedBitmap("erasing_text", &backgroundText[ERASING]);
LoadLocalizedBitmap("no_command_text", &backgroundText[NO_COMMAND]);
LoadLocalizedBitmap("error_text", &backgroundText[ERROR]);
分别对应recovery需要用到的四种字符串资源。
3.LoadLocalizedBitmap 调用res_create_localized_surface
4.res_create_localized_surface 在minui/resources.c中,其中
snprintf(resPath, sizeof(resPath)-1, "/res/images/%s.png", name);
我们可以知道是加载了res/images/目录下的图片资源。
5.对应res/images/目录即可找到对应的installing_text.png
6.函数就这样解析图片,然后得到需要的文字资源。
其次才是关键:即如何将文字资源放在png图片中呢?
秘密就在development\tools\recovery_l10n 这个文件夹中。
1.recovery_l10n就是谷歌提供的制作字符串图片的APK,通过源码下的mmm编译,可以得到RecoveryLocalizer.apk。
2.打开文件recovery_l10n\res\values-zh-rCN\string.xml
<?xml version="1.0" encoding="UTF-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="recovery_installing" msgid="7864047928003865598">"正在安装系统更新… 请勿断电"</string>
<string name="recovery_erasing" msgid="4612809744968710197">"正在清除… 请勿断电"</string>
<string name="recovery_no_command" msgid="1915703879031023455">"无命令。"</string>
<string name="recovery_error" msgid="4550265746256727080">"出错了!"</string>
</resources>
3.这里就可以看到需要用到的四个字符串,修改成需要的文字。
4.重新编译后,安装到对应的设备。打开apk,选择相应的字符串,执行Go。
5.通过adb命令既可拿到图片资源了。
6.拿到资源后,通过执行pngcrush来进行图片处理,因为读取pngcrush处理过的png比普通的png快,且内存小。
pugcrush -c 0 text_out.png output.png
至此我们就完成了字符串图片的创建。
最后,将字符串图片重新放入到bootable\recovery\res\image目录下,替换原来的图片,重新编译整个工程即可完成修改了。
0 0
- 如何修改Recovery的字符串资源
- 如何修改Recovery的字符串资源(修改显示字体颜色和大小)
- [FAQ08110][Recovery][UI/Key]如何修改recovery mode下字体的大小
- 修改资源字符串
- recovery字库相关,如何修改字库文件
- recovery修改
- recovery图片资源的再分析
- recovery mode下的字体大小修改
- Python中如何修改字符串的值
- Python中如何修改字符串的值
- 如何修改项目的目录,各资源链接?
- aapt 如何修改资源ID
- 如何读取资源文件里的中文字符串
- 如何读取资源文件里的中文字符串
- 关于资源的修改
- recovery 字体大小修改
- 关于boot.img和recovery.img的编辑和修改
- 关于boot.img和recovery.img的编辑和修改
- LayoutAnimation给ListView中的item设置动态出场效果
- jQuery UI 使用心得及技巧
- SpringMVC-基础篇-web.xml
- 全选、反选、取消
- Spring学习笔记(二十三):关于STS提示"javax.servlet.http.HttpServletRequest cant be resolved"的问题
- 如何修改Recovery的字符串资源
- ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: Incompatible namespaceID
- Android Studio 断点调试和高级调试
- 博客系统 迭代 各个版本 总结思考
- 解析xml方式之SAX,流模式解析
- 帖子浏览定位展开、收起标签js部分思路及代码
- 粒子滤波理论资料存档
- 两个Long类型如何比较大小
- 微信公众号 {"errcode"40037,"errmsg""invalid template_id"}