android系统的简单定制
android入门自学总结:
android系统添加linux驱动_Kael.dong的博客-CSDN博客_安卓系统安装linux驱动
android系统的日志系统分层与logcat使用_Kael.dong的博客-CSDN博客_logcat拆分日志
android系统添加自己写的工具_Kael.dong的博客-CSDN博客
android系统添加启动服务_Kael.dong的博客-CSDN博客
android系统添加service与android层次分析_Kael.dong的博客-CSDN博客
简单基础的定制android系统,使第一次 开机就安装系统应用和预装应用,加载服务工具和其它文件,开机启动画面,设置默认输入法、屏幕亮度等等。
如何简单的定制android系统?这里有两种方法:
第一是使用蘑菇ROM助手,编辑系统ROM。使用方法请百度。
第二种是源码中添加编译规则。复制设备工程中的文件到编译生成的系统中。
这里介绍下第二种方法,使用的是全志T3的android4.4系统源码。
1.添加我们自己的编译项
修改编译文件/android/device/softwinner/t3-p1/t3_p1.mk,添加下面一句
$(call inherit-product-if-exists, device/softwinner/t3-p1/test/test.mk)
2.编辑device/softwinner/t3-p1/test/test.mk文件。
PRODUCT_COPY_FILES += \$(call find-copy-subdir-files,*,$(LOCAL_PATH)/apk,system/preinstall) \$(call find-copy-subdir-files,*,$(LOCAL_PATH)/systemapk,system/app) \$(call find-copy-subdir-files,*,$(LOCAL_PATH)/music,data/test/music) \$(call find-copy-subdir-files,*,$(LOCAL_PATH)/video,data/test/video) \$(call find-copy-subdir-files,*,$(LOCAL_PATH)/pic,data/test/pic)PRODUCT_COPY_FILES += \device/softwinner/t3-p1/test/test_init:system/bin/test_init \device/softwinner/t3-p1/test/gocsdk:system/bin/gocsdk#注意:1、第一次启动,复制文件与安装应用较慢,进入系统后需等待;
# 2、system文件夹用户不可写,故不能删除;
# 3、预装应用可卸载,卸载后不再出现;
# 4、如果需要再次安装,删除目标板的 /data/system.notfristrun文件,然后重启。
一 安装系统应用和一般应用
PRODUCT_COPY_FILES是拷贝文件到系统,前面是存放路径,后面是目标路径,$(call find-copy-subdir-files,***)的写法能实现文件夹的拷贝。
在test文件夹下创建apk,systemapk,music,video,pic等文件夹。
system/preinstall是预装软件,放置APK文件,可卸载。
system/app是系统应用,放置APK文件,不可卸载。
因为在device/softwinner/t3-p1/fstab.sun8iw11p1中/dev/block/by-name/system /system ext4 ro wait表明/system的挂载方式是ro只读方式。ROOT就是重新挂载修改这个文件夹的读写权限。非ROOT情况下文件拷贝到里面就可实现文件不可删除。
注意,复制文件会检查是否是APK文件,需要在android/build/core/makefile里面注释掉这段检查。
#define check-product-copy-files
#$(if $(filter %.apk, $(1)),$(error \
# Prebuilt apk found in PRODUCT_COPY_FILES: $(1), use BUILD_PREBUILT instead!))
#endef
二 加载服务工具和其它文件
接着分析test.mk文件,下面三句是复制music、video、pic到目标android系统。也可以是其他文件。实现文件的定制。
再下面两句是添加的工具,其中一个设置默认值的shell指令,一个是蓝牙供应商给的工具。
三 设置默认输入法
设置默认输入法的一个方法是开机的时候创建服务控制台输入settings指令来设置默认输入法。然后/android\/device/softwinner/t3-p1/init.rc文件加载时运行一次该服务。
其中test_init里面添加设置默认输入法指令。
#!/system/bin/sh
settings put secure default_input_method com.google.android.inputmethod.pinyin/.PinyinIME
init.rc加入服务
service test_init /system/bin/sh /system/bin/test_initclass coreuser rootgroup root systemoneshot
google拼音输入法app要放到预装软件或是系统应用文件夹中。
app也装上去了,这样还不行,因为权限不够,需要修改test_init权限,在init.rc文件中添加
chmod 777 /system/bin/test_init
注意:设置默认输入法的另一个方法是修改默认参数。修改/device/softwinner/t3-p1/overlay/frameworks/base/packages/SettingsProvider/res/values的defaults.xml文件,详细请百度。
现在settings指令支持的选项有限,虽然查看setting的数据库有很多选项,但并不好用。
重点是,修改test_init,可以在android系统起来前输入自己需要的shell指令。android系统添加启动服务会具体说明如何添加启动工具或服务。
四 开机启动画面与音乐
全志T3的android4.4系统源码开机画面、开机音乐放在android/device/softwinner/t3-p1/media
广告:
底层开发经常碰到android系统安全的问题,同时厂商与用户越来越重视安全,有兴趣可以了解一下,了解的可以深入,并互相探讨。相信能帮助大家更上层楼。
目前定价¥99,会持续更新,内容增多后根据情况加价。知识付费,物超所值。
android 系统安全内容总结https://blog.csdn.net/dongyi1988/article/details/128798626
android系统的简单定制相关推荐
- android系统旋转方向定制问题
0.前言 android开始是给手机使用的,后来拓展到平板.电视等,那么对于系统旋转及默认方向都要根据需求进行修改了(比如电视默认就是横屏),还有比如我在开发一个定制平板时,由于工艺设计的模具与液晶屏 ...
- android系统开机logo定制
看到了好几个修改logo的博文,但是说的不是很清楚,在这里亲手送上通过自己的动手修改过验证后的方法. Android 开机其实总共会出现3个画面: 1.第一个就是 linux 系统启动,出现Linux ...
- HTC Android系统 自定义ROM定制图文教程
小弟写得差 请勿拍砖,如果有意见请直接回复本贴!谢谢! 技术有限,部分可能不详细或者错误的请各位指出,大家交流! 前言: 一个完整的ROM根目录会有以下几个文件夹及文件: data META-IN s ...
- Android系统新产品定制(1)
<一>配置过程分析: jackie@jackie-host:~/svn/vimicro$ . ./build/envsetup.sh including device/vimicro/vo ...
- android 系统(6)---Android ADB 命令大全
原文链接:https://github.com/mzlogin/awesome-adb ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也 ...
- Android 9.0 rom定制化系列讲解导读
1.1前言 本专栏主要是作者本人在9.0的系统rom定制化开发中,在 frameworks定制化实战功能系列的解读,把从事几年的frameworks定制化功能的经验的积累总结一下, 开发过平板,广告机 ...
- android 系统源码调试 局部变量值_如何方便快速的整编Android 9.0系统源码?
点击上方"刘望舒",选择"星标" 多点在看,就是真爱! 作者 : 刘望舒 | 来源 :刘望舒的博客地址:http://liuwangshu.cn/fram ...
- Android AOSP基础(三)Android系统源码的整编和单编
本文首发于微信公众号「刘望舒」 关联系列 Android AOSP基础系列 Android系统启动系列 前言 在上一篇文章Android AOSP基础(二)AOSP 源码下载 中,我们顺利的将AOSP ...
- 深入浅出 - Android系统移植与平台开发(十)- Android编译系统与定制Android平台系统(瘋耔修改篇二)...
第四章.Android编译系统与定制Android平台系统 4.1Android编译系统 Android的源码由几十万个文件构成,这些文件之间有的相互依赖,有的又相互独立,它们按功能或类型又被放到不同 ...
最新文章
- 使用PHPExcel 对表格进行,读取和写入的操作。。。。
- c语言struct_学习了C语言之后还是感觉不会编程,应该怎么办?其实你想错了!...
- 弹指之间 -- Waltz
- 互联网1分钟 | 0117 IBM入驻上海张江人工智能岛;IoT业务将成为小米新支撑点
- XML——使用 XPath来定位信息+使用命名空间
- python的创始人、特点应用领域_python学习笔记(python发展介绍)
- 《一天聊一个设计模式》 策略
- php如何检查对象的类型,如何在PHP中检查对象的特定类型
- 常用排序算法(八)桶排序
- arch linux windows,windows+Archlinux双系统安装指南(一)
- 10 Golden rules for publishing your blog
- VBA实战技巧精粹013:宏代码保存工作簿的3种方法
- java base server 状态_SQL Server:数据库陷入“恢复”状态 - SQL Server: Database stuck in “Restoring” state...
- 电脑声音无法找到输出设备咋整啊?
- 深度学习笔记 —— 微调
- WORKGROUP无法访问,您可能没有权限使用网络资源,请与这台服务器的管理员联系以.......
- 程序员颈椎病康复秘籍,你值得拥有!
- 【JavaSE】之注解与反射
- 一个简单的马尔可夫过程例子
- 955.WLB 红包封面来啦!送给希望不加班的你~
热门文章
- NLP自然语言处理学习笔记(七)(转自咕泡AI)
- English语法_形容词/副词3级-最高级
- C++技术开发的发展方向有哪些?
- 约瑟夫环问题有10(100人或者n个)个人围成一圈,从第一个人开始报数(报1、2、3),只要报3的人就出去, 然后不停的循环报数,直到最后剩下一个人,计算出这个人最开始的位置。
- 坂田杨美自然村旧改,已立项,直接签约。
- 超全面的构建合理的UI动效方法总结 !
- 如何将eclipse设置全黑背景!
- Linux安装部署MinDoc详细记录
- Android系统预置文件
- 大学生python心得1000字_大学生社会实践报告心得体会范文1000字(精选4篇)