android系统的简单定制

9 篇文章 2 订阅
1 篇文章 0 订阅

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_init
	class core
	user root
	group root system
	oneshot

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 系统安全内容总结icon-default.png?t=N176https://blog.csdn.net/dongyi1988/article/details/128798626

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kael.dong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值