自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 OpenHarmony4.1 编译系统hap

OpenHarmony在源码中编译系统HAP

2024-04-10 11:33:36 488 2

原创 master分支仓库更新方法

repo 拉取很久没有更新的master分支方法

2023-11-02 22:02:11 502

原创 Android9.0 SystemServer Crash问题总结

SystemServer Crash问题总结

2023-09-04 11:19:51 263

原创 OpenHarmony 启动流程优化

平台:润和的rk3568分支:openharmony release 3.2​ 目前rk3568的开机时间有21s,统计的是关机后从按下power按键到显示锁屏的时间,当对openharmony的系统进行了裁剪子系统,系统app,禁用部分服务后发现开机时间仅仅提高到了20.94s 优化微乎其微。在对init进程的log进行分析并解决其中的时间断层后 开机时长优化到了16.5s左右,可以说是一个非常大的进步了,下面详细讲一下优化的过程。

2023-07-10 10:42:45 1385

原创 Openharmony 交叉编译haveged

openharmony 交叉编译 haveged工具

2023-07-07 14:38:32 798

原创 OpenHarmony VideoEncoder js接口开发

由于本人对于视频编码的知识了解较少,所以提供给app使用的接口主要参考native接口来设计,接口文件index.d.ts如下/*** @since 9* @since 9/*** @since 9* @since 9* @since 9* @since 9* @since 9* @since 9* @since 9* @since 9* @since 9* @since 9* @since 9* @since 9。

2023-06-25 14:42:00 448

原创 OpenHarmony服务启动框架

从上面代码我们可以知道服务的启动最终调用到了SystemAbility的start函数,由于我们注册的时候注册的是HCameraService,所以会调用到HCameraService的start函数。可以看到他是通过执行system/bin/sa_main程序导入了/system/profile/camera_service.xml配置文件启动的camera_service服务就和Android的init.rc中启动native进程是类似的。在3.2小节中启动ability走的时run函数。

2023-05-24 14:22:17 846

原创 OpenHarmony添加自定义的子系统、部件、模块

这里我们将OpenHarmony的两个例子添加到源码中并使其编译到系统中,这里有一点需要注意的是不可以将自定义的子系统放到其他已经定义的子系统目录下,vendor下的product文件夹也被认为成一个子系统,比如/就作为product_hihope子系统存在的,其定义在/

2023-04-12 09:57:10 1329

原创 OpenHarmony Init进程的启动流程

OpenHarmony启动流程OpenHarmony 源码网站:http://ci.openharmony.cn/codeSearchhttps://www.lengqinjie.xyz/lxr/source/一、kernel的启动流程图:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lzDpagvq-1679988627138)(…\image\OH开机启动流程.png)]由于OpenHarmony(下面简称OH)的标准系统的底层系统是linux,所以前期和A

2023-03-28 15:36:22 2257 4

原创 OpenHarmony Framework层服务一览

服务描述是否裁剪代码位置AccountMgr账号子系统的主要服务?/base/account/os_account/services/accountmgr/AIEngineAI子系统是/foundation/ai/ai_engine/AbilityManagerServiceAbility管理服务否/foundation/ability/ability_runtime/services/abilitymgr/DataObserverMgrData

2023-03-28 15:29:17 632

原创 Android10.0 Framework层服务一览表

Android10.0 Framework层服务一览表

2023-01-05 15:48:17 1290 2

原创 Android 按键、关机界面的定制

在平常的项目中我们会有很多定制 按键和一些UI的需求,这里就以定制power键和关机界面为例来聊一下遇到这类需求要如何去开发。

2022-11-15 11:32:03 928 1

原创 Android9.0 Wifi模块Framework层分析

Android 9.0 Wifi模块 Framework层的简要分析

2022-11-07 10:49:24 1276

原创 替换Android10.0系统源码的签名key

替换Android10.0源码的系统签名key

2022-07-18 13:50:53 1204

原创 Android native Binder使用实例

native 进程使用binder开放接口的实例

2022-06-22 16:44:58 857

原创 Android native进程的创建实例

Android 系统创建 native进程并随系统开机启动的实例

2022-06-22 13:19:26 1264

原创 Android Camera(三) MediaRecorder的基本流程

梳理Android Camera 录像时的基本流程

2022-06-02 17:27:29 2820

原创 Android Camera模块(二)

Android Camera模块(二)Camera Framework层Camera Framework层即CameraServer服务实现.CameraServer是Native Service,代码在frameworks/av/services/camera/libcameraservice/CameraServer承上启下,上对应用提供Aosp的接口服务,下和Hal直接交互.一般而言,CamerServer出现问题的概率极低,大部分还是App层及HAL层出现的问题居多.我们这里仍然是从上往下进

2022-03-28 08:52:09 2415

原创 Android Camera模块(一)

Android Camera模块(一)一、Android Camera架构1.1 整体架构架构参考Android Camera简单整理(一)-Camera Android架构(基于Q)google 官方图:从上图得知,Android手机中Camera软件主要有大体上有4层:1.应用层: 应用开发者调用AOSP提供的接口即可,AOSP的接口即Android提供的相机应用的通用接口,这些接口将通过Binder与Framework层的相机服务进行操作与数据传递;2.Framework层: 位于 f

2022-03-04 13:04:19 5225 1

原创 编译最新的Android源码遇到的问题

1.reposync 时出现错误Fetching: 100% (1109/1109), done in 34m21.964sGarbage collecting: 100% (1109/1109), done in 1.705sinfo: A new version of repo is availablewarning: repo is not tracking a remote branch, so it will not receive updatesrepo reset: error: E

2022-02-26 17:29:14 2271

原创 Android12 图形系统

Android 图形系统本文参考http://gityuan.com/2017/01/08/windowmanger/ 结合Android12.0的源码进行分析一、概述Android图形系统的大概组成:Surface:代表画布 (在ViewRootImpl初始化时创建的)WMS(Window Manager Service): 添加window的过程主要功能是添加Surface,管理所有的Surface布局,以及Z轴排序问题;SurfaceFinger: 将Surface按次序混合并显示到物理

2022-02-08 10:56:57 3002

原创 Android9.0 本地时区和本地时间的自动更新机制

Android9.0 本地时区和本地时间的自动更新机制简介现在Android通过网络同步时间有两种方式:NITZ和NTP,它们使用的条件不同,可以获取的信息也不一样;勾选自动同步功能后,手机首先会尝试NITZ方式,若获取时间失败,则使用NTP方式1.NITZ(network identity and time zone)同步时间​ NITZ是一种GSM/WCDMA基地台方式,必须插入SIM卡;可以提供时间和时区信息2.NTP(network time protocol)同步时间​ NTP在无

2022-01-28 15:04:32 5840 2

原创 AndroidInputSystem

AndroidInputSystem文章以Android 12为例介绍 IMS ->InputManagerService WMS->WindowManagerService1. 启动流程InputManagerService是作为系统服务由SystemServer启动的,做为其他服务启动的/frameworks/base/services/java/com/android/server/SystemServer.java1248 t.traceBegin(

2022-01-28 14:56:57 699

原创 InputMethod流程解读

InputMethod(以Android4.4.3为例)1.默认输入法的启动流程:SystemServer会启动InputMethodManagerService,在InputMethodManagerService中会启动action为"android.view.InputMethod"的Service,同时会设置组件名称来决定启动哪个输入法。/frameworks/base/services/java/com/android/server/InputMethodManagerService.jav

2022-01-28 14:47:25 3475

原创 Android4.3 Google Pinyin输入法UI定制

Android4.3 Google Pinyin输入法UI定制先来看原版输入法的效果如下:定制后的效果如下:SystemServer会启动InputMethodManagerService,在InputMethodManagerService中会启动action为"android.view.InputMethod"的Service,同时会设置组件名称来决定启动哪个输入法。/frameworks/base/services/java/com/android/server/InputMethodM

2022-01-28 14:45:41 3168

原创 使用Ubuntu20.04编译 androidP时出现的错误

1.so库找不到的问题这里提供一个通解的方法:一般so库找不到的报错关键如下:error while loading shared libraries: libncurses.so.5AndroidP以后的AOSP的代码一般都会自带这些so库,(连jdk都已经自带了)可以在Android根目录下执行如下指令find / -name libncurses.so.5上面这条指令能显示出AOSP自带的so库的路径,比如上面这个libncurses.so.5的路径就是prebuilts/gcc/li

2022-01-19 10:39:31 1933

原创 Android9 ab系统OTA升级总结

Android9 ab系统OTA升级总结OTA升级介绍 官方介绍 https://source.android.google.cn/devices/tech/ota/tools#multiple-skus1.OTA升级包的制作OTA升级有两种方式,全包升级和差分升级总体升级操作步骤类似首先需要对代码做一些改动:如下在/build/core/Makefile中添加如下代码:/build/core/Makefile2850 $(hide) PATH=$(foreach p,$(INTERNAL_

2021-09-10 17:34:33 2952 8

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除