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系统的简单定制相关推荐

  1. android系统旋转方向定制问题

    0.前言 android开始是给手机使用的,后来拓展到平板.电视等,那么对于系统旋转及默认方向都要根据需求进行修改了(比如电视默认就是横屏),还有比如我在开发一个定制平板时,由于工艺设计的模具与液晶屏 ...

  2. android系统开机logo定制

    看到了好几个修改logo的博文,但是说的不是很清楚,在这里亲手送上通过自己的动手修改过验证后的方法. Android 开机其实总共会出现3个画面: 1.第一个就是 linux 系统启动,出现Linux ...

  3. HTC Android系统 自定义ROM定制图文教程

    小弟写得差 请勿拍砖,如果有意见请直接回复本贴!谢谢! 技术有限,部分可能不详细或者错误的请各位指出,大家交流! 前言: 一个完整的ROM根目录会有以下几个文件夹及文件: data META-IN s ...

  4. Android系统新产品定制(1)

    <一>配置过程分析: jackie@jackie-host:~/svn/vimicro$ . ./build/envsetup.sh including device/vimicro/vo ...

  5. android 系统(6)---Android ADB 命令大全

    原文链接:https://github.com/mzlogin/awesome-adb ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也 ...

  6. Android 9.0 rom定制化系列讲解导读

    1.1前言 本专栏主要是作者本人在9.0的系统rom定制化开发中,在 frameworks定制化实战功能系列的解读,把从事几年的frameworks定制化功能的经验的积累总结一下, 开发过平板,广告机 ...

  7. android 系统源码调试 局部变量值_如何方便快速的整编Android 9.0系统源码?

    点击上方"刘望舒",选择"星标" 多点在看,就是真爱! 作者 :  刘望舒  |  来源 :刘望舒的博客地址:http://liuwangshu.cn/fram ...

  8. Android AOSP基础(三)Android系统源码的整编和单编

    本文首发于微信公众号「刘望舒」 关联系列 Android AOSP基础系列 Android系统启动系列 前言 在上一篇文章Android AOSP基础(二)AOSP 源码下载 中,我们顺利的将AOSP ...

  9. 深入浅出 - Android系统移植与平台开发(十)- Android编译系统与定制Android平台系统(瘋耔修改篇二)...

    第四章.Android编译系统与定制Android平台系统 4.1Android编译系统 Android的源码由几十万个文件构成,这些文件之间有的相互依赖,有的又相互独立,它们按功能或类型又被放到不同 ...

最新文章

  1. 使用PHPExcel 对表格进行,读取和写入的操作。。。。
  2. c语言struct_学习了C语言之后还是感觉不会编程,应该怎么办?其实你想错了!...
  3. 弹指之间 -- Waltz
  4. 互联网1分钟 | 0117 IBM入驻上海张江人工智能岛;IoT业务将成为小米新支撑点
  5. XML——使用 XPath来定位信息+使用命名空间
  6. python的创始人、特点应用领域_python学习笔记(python发展介绍)
  7. 《一天聊一个设计模式》 策略
  8. php如何检查对象的类型,如何在PHP中检查对象的特定类型
  9. 常用排序算法(八)桶排序
  10. arch linux windows,windows+Archlinux双系统安装指南(一)
  11. 10 Golden rules for publishing your blog
  12. VBA实战技巧精粹013:宏代码保存工作簿的3种方法
  13. java base server 状态_SQL Server:数据库陷入“恢复”状态 - SQL Server: Database stuck in “Restoring” state...
  14. 电脑声音无法找到输出设备咋整啊?
  15. 深度学习笔记 —— 微调
  16. WORKGROUP无法访问,您可能没有权限使用网络资源,请与这台服务器的管理员联系以.......
  17. 程序员颈椎病康复秘籍,你值得拥有!
  18. 【JavaSE】之注解与反射
  19. 一个简单的马尔可夫过程例子
  20. 955.WLB 红包封面来啦!送给希望不加班的你~

热门文章

  1. NLP自然语言处理学习笔记(七)(转自咕泡AI)
  2. English语法_形容词/副词3级-最高级
  3. C++技术开发的发展方向有哪些?
  4. 约瑟夫环问题有10(100人或者n个)个人围成一圈,从第一个人开始报数(报1、2、3),只要报3的人就出去, 然后不停的循环报数,直到最后剩下一个人,计算出这个人最开始的位置。
  5. 坂田杨美自然村旧改,已立项,直接签约。
  6. 超全面的构建合理的UI动效方法总结 !
  7. 如何将eclipse设置全黑背景!
  8. Linux安装部署MinDoc详细记录
  9. Android系统预置文件
  10. 大学生python心得1000字_大学生社会实践报告心得体会范文1000字(精选4篇)