
android
文章平均质量分 75
wwwlyj123321
这个作者很懒,什么都没留下…
展开
-
【Android 】Prebuilt预编译
LOCAL_MODULE_CLASS : APPS(apk文件)、SHARED_LIBRARIES (lib)、EXECUTABLES(bin)、ETC(其他文件)上面的就是copy usb_modeswitch.conf 文件到 OUT 下面的 etc目录,这个目录常用来存放配置相关文件。LOCAL_MODULE_TAGS:在什么情况下去编译模块。Multi_Perbuilt:针对多个文件,对多个文件进行判断,调用Prebuilt依次处理。LOCAL_MODULE_PATH : 拷贝的路径。原创 2023-07-18 16:17:10 · 2452 阅读 · 0 评论 -
Android.mk
include $(call all-makefiles-under,$(LOCAL_PATH))在Android的源代码中的mk文件中,我们经常会看到上面这句话,从字面意思看是,include目录下所有的mk文件,那么这里面有两个坑,1.只include Android.mk文件,叫其他名字的mk文件,不include.2.只include这个$(LOCAL_PATH)一级目录下的Android.mk文件,而不是所有子目录以及子目录下的Android.mk文件最后,看一下这个函数的源代码加强一下印原创 2022-01-10 16:27:22 · 1584 阅读 · 0 评论 -
init脚本执行和进程守护
一、init如何执行init.rc中设置的服务,action?init进程会对init.rc脚本进行解析,解析结果保存在service_list和action_list中,如下图所示:action_for_each_trigger函数又会从上述action_list中查找对应的节点名称,并将该节点对应的cmd_list添加到action_quene中也可以使用quene_builtin_action命令,将rc配置文件之外的命令手动地添加到action_list和action_quen.原创 2022-01-15 20:38:51 · 1958 阅读 · 0 评论 -
init.rc解析脚本分析
一、基本框架init.rc是一个纯文本文件,我们需要程序去解析init.rc,然后交给程序运行,解析init.rc的过程就是识别一个个section的过程,将各个section的信息保存下来,然后在init.c的main()中去执行一个个命令。android采用双向链表来存储section的信息,解析完成之后,会得到三个双向链表action_list、service_list、import_list来分别存储三种 的信息。二、c语言实现1:init.c中调用init_parse.原创 2022-01-15 17:11:21 · 2110 阅读 · 0 评论 -
Android启动过程分析
一、大纲步骤二的BootLoader是芯片内部固化的二、init进程分析1、简介init进程是系统启动的第一个进程2、init.c源码分析init.c位于:system/core/init/init.c创建并挂载目录将log重定向到/proc/kmsgkmsg是内核的log输出目录,重定向的实现逻辑如下:创建节点并打开,节点的名称为klog_fd,这是个全局变量,klog_write中调用,调用klog_write哈数就会将log记录...原创 2022-01-15 11:58:37 · 2206 阅读 · 0 评论 -
PRODUCT_PACKAGES和PRODUCT_COPY_FILES
PRODUCT_PACKAGES原创 2022-01-11 20:47:38 · 2963 阅读 · 0 评论