- 博客(22)
- 资源 (1)
- 收藏
- 关注
原创 Android PMS赋予应用权限流程---安装默认赋予流程
/为sys组件和private-app赋予权限。//为系统的指定的应用提供相应的特殊权限。//从指定文件读取需要赋予的权限。grantRuntimePermissions分析。
2022-11-25 09:28:09
1033
原创 SystemUI---双击电源键打开Camera(重启第一次无法启动相机)
在这两个函数中处理,注意可能被重写导致不在PhoneWindowManager.java中出现。
2022-11-21 09:41:08
1237
原创 Camera 图标加载(flash)
host/res/layout/camera_ui_root.xml <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:id="@+id/...
2021-11-23 15:10:29
1871
原创 Camera2 APP显示画面
1.创建TextView2.得到CameraMananger对象打开camera3. 得到CameraDevice对象,注册callback4.拿住CameraCaptureSession5.发送CaptureRequestpublic class MainActivity extends Activity { private TextureView mTextureView; private CameraCaptureSession mCameraCaptureSession;
2021-09-23 11:31:58
171
原创 MTK HAL3 框架介绍(一)
开机启动两个服务:Cameraervice\CameraProviderCameraService通过HIDL和CameraProvider通信,然后CameraProvide在与HAL 通信,
2021-09-17 19:14:49
884
原创 Binder C++/JAVA 实现方式
理解Binder机制的原理:是一种进程间的通信方式,CS架构,用户空间,内核空间C++:处理消息的是BnInterface的子类发送消息:status_t transact(uint32_t code,const Parcel& data,Parcel* reply,uint32_t flags = 0);处理消息:status_t onTransact(uint32_t code, const Parcel& data,Parcel* repl...
2021-09-17 10:58:33
415
原创 Camera framework/HAL(二)
接着上一遍文章,我们将理解CameraService的获取与构造。CameraService的启动:av/camera/cameraserver/Android.bp->av/camera/cameraserver/cameraserver.rc->av/camera/cameraserver/main_cameraserver.cppAndorid.mk将cameraserver.rc打包到system/etc/init目录下,并指定源代码为main_camer...
2021-07-23 14:18:03
304
1
原创 Camera framework/HAL(一)
目录一、framework1、开启camera:1.1、openCameraDeviceUserAsync:1.1.1、openCameraDeviceUserAsync一、frameworkbase/core/java/android/hardware/camera2/CameraManager.java调用opencamera,根据传入的参数执行不同的接口,检查是否开启camera功能。openCamera->openCameraForUid()->ope
2021-07-19 14:29:48
954
原创 SystemUI-StatusBar-虚拟按键
1) StatusBar.start ->createAndAddWindows()->addStatusBarWindow()->makeStatusBarView()->2) makeStatusBarView()->createNavigationBar()->NavigationBarFragment.create()->3) create(Context context, FragmentListener listener)->...
2021-07-14 17:27:30
169
原创 Android Camera2 UI界面与预加载配置(一)
一、UI界面加载分析(1)host/AndroidManifest.xml<activity android:name="com.mediatek.camera.CameraActivity" android:clearTaskOnLaunch="true" android:screenOrientation="portrait" android:configChanges="orientatio
2021-05-20 13:38:51
1229
原创 PackageManagerService
PackageManagerService1)BOOT_PROGRESS_PMS_START工作内容:创建所需的服务,本地服务,多用户管理,加载installer。然后将各种系统标志的uid写入settings中。注册权限改变监听器。 if (mSdkVersion <= 0) { Slog.w(TAG, "**** ro.build.version.sdk not set!"); } Slog.w(TAG,.
2021-03-15 15:16:19
315
原创 Android10.0 OTA A/B升级流程分析
Android10.0 OTA A/B升级流程分析A/B更新介绍1.编译打包流程build.sh 找到qssi*-target_files-*.zip${TARGET_PRODUCT}*-target_files-*.zip /merge_target_files.py生成target包。function generate_ota_zip () { log "Processing dist/ota commands:" SYSTEM_TARGET_FIL...
2021-03-10 10:30:54
3566
原创 PMS
引用文章链接:https://blog.youkuaiyun.com/sdkdlwk/article/details/89891020PMS构造函数大概流程:PMS重要函数大概流程:1.解析Packages.xml2.扫描系统目录apk3.扫描data/app目录apk4.重新写入Packages.xml1.解析Packages.xmlreadLPw()Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "read user settin
2020-07-21 10:36:27
204
原创 PackageManagerService服务框架详解
PMS的结构图:service-client结构service:提供代理类proxy给client调用,所有动作的具体实现都是在Service中实现的。 PackageManagerService,( )client:获得Service的proxy实现调用 PackageManager,ApplicationManager,其余都是Service客户端:PackageManager实际是一个抽象类,主要是用来调用Service中的方法。以getPackageIn...
2020-07-20 19:16:03
1177
原创 Android 内置第三方apk
1.不可卸载apk在源码的vendor目录用来存放第三方apk,新建文件夹名与apk名相同,并将文件夹放到mk文件中参与编译,使用过的mk文件路径(device/qcom/common/base.mk)PORDUCT_PACKAGES : = \ 继续添加文件夹名称在文件夹中放置好apk和Android.mk文件Android.mk内容:#全版本LOCAL_MODULE_TAGS := optional#生成的文件类型LOCAL_MODULE_CLASS := APPS#使用签名P
2020-07-10 11:25:40
1319
转载 开机动画重复出现
android9.0上,开启了默认加密后,手机在开机的过程中,会发现开机动画在播放一会儿,突然黑屏或闪屏一下,然后重新播放,看起来像是手机ap端突然重启了一样的。针对这个问题,仔细分析后发现,这个不是手机ap端重启了,而是加密导致的framework重启。具体原因如下:加密又分全盘加密(Android 4.4 引入)和文件级加密(Android 7.0 引入),本文将论述...
2020-04-02 09:34:57
387
原创 Android10 USB devices mode 分析
USBplatform/build / tools/post_process_props.py在此设置默认的usb配置,在编译的时候makefile会将其编译到系统中将默认的配置保存在UsbDeviceManagerPrefs.xml中(路径没找到)usb中重要的属性persist.sys.usb.config和 sys.usb.config,system/core/rootdir...
2020-03-30 13:40:43
2537
原创 Ubuntu安装软件
在ubuntu中,安装软件一般使用的三种方法:1.apt-get2.dpkg安装deb3.make install安装源码首先介绍第一种方式:apt-get:apt-get install PackageName第二种方式:dpkg首先需要一个软件包:例如安装网易云,首先去下载网易云软件包(网易云官网下载)执行命令:sudo dpkg -i netea...
2019-08-02 19:46:38
89
原创 Linux基础知识——基本操作的学习
安装好虚拟机,开始学习Linus本文包括使用终端编写学习基础知识,显示当前目录,在当前目录下增加、删除文件夹以及添加、删除文件,返回上一级目录;返回上一次操作的文件夹的路径;显示当前路径下面包含的树形结构;显示文件名内的内容。1.【root @ promote ~】#(1)root:登录主机的用户;(2)promote:主机名;(3)~:当前目录(可以说root、home等自建系统的文件夹名);2...
2018-05-12 22:12:23
567
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人