
Android 学习
文章平均质量分 77
高大达
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Android ANR/CRASH 分析
https://blog.youkuaiyun.com/Android725/article/details/105534876?ops_request_misc=&request_id=&biz_id=102&utm_term=window%E2%80%99s%20input%20channel%20is%20full&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-4-.fi原创 2021-07-28 11:16:55 · 276 阅读 · 0 评论 -
【C++】【笔记】【LINUX 下的 SOCKET 编程】
Socket是什么1、 socket套接字socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,都可以用“打开open –> 读写write/read –> 关闭close”模式来操作。Socket就是该模式的一个实现,socket即是一种特殊的文件,一些socket函数就是对其进行的操作(读/写IO、打开、关闭).2、套接字描述符 ...原创 2018-12-27 01:08:16 · 208 阅读 · 0 评论 -
【Android】handler
//1.初始化,参数为名字,也就是线程的名字,后面我们会结合源码来看 mHandlerThread = new HandlerThread("WorkThread"); //必须调用start方法,因为HandlerThread继承自Thread来启动线程 mHandlerThread.start(); //初始化Handler,只是传递了一个mHandlerThread内部的一个loo...原创 2019-01-05 12:02:10 · 260 阅读 · 0 评论 -
【Android】【binder】
java编写binder服务实例https://www.cnblogs.com/winfu/p/7521372.html1.编写AIDL 文件IHelloService.aidl:/** {@hide} */interface IHelloService{ void sayhello(); int sayhello_to(String name);} ...原创 2019-01-05 11:45:37 · 366 阅读 · 0 评论 -
【输出文档】 Android 存储模块 解析
【存储模块培训文档,很认真写的,现在转移到博客上】 Android 存储模块解析 1.存储系统架构Android 的存储系统主要由SystemServer进程中的MountService和Vold进程中的VolumeManager组成,它们管理着系统的存储设备,执行各种操作,包括 卸载(unmoun...原创 2018-10-27 14:34:50 · 2762 阅读 · 0 评论 -
【笔记】Csm 项目
1.permission 模块: 1.主界面是BaseTabActivity.java :区分 权限界面 和 PKG 界面 1.整体的框架就是TabHost 控件,仿造微信实现底部导航栏效果,下面有2个按钮,“权限” 和 “应用” 1. 在XML文件中使用TabHost组件, 并在其中定义一个FrameLayout选项卡内容;还定义一个TabWid...原创 2018-10-29 13:40:43 · 581 阅读 · 0 评论 -
【输出文档】 Android 加密 模块源码分析
Android6.0 加密模块解析前言:加密流程就是用一个加密了的key对Android 系统中的用户数据进行加密。一旦设备被加密了,所有用户创建的数据在提交到磁盘前都会被自动加密,并且在返回到调用的进程前,所有的用户数据会被自动解密。 Android 的disk机密是基于dm-crypt的,...原创 2018-10-27 14:35:26 · 3286 阅读 · 1 评论 -
handler.post 运用
1. 主线程中的使用:new Handler().post(new Runnable() { @Override public void run() { mTest.setText("post");//更新UI } });这段代码里并没有开启了一个子线程(调用的是 run 而不是 start 。),因...原创 2018-10-31 14:08:37 · 1970 阅读 · 3 评论 -
APP 安装路相关
基于Android 8 :1.非系统自带应用:1.安装在“/data/app”下msm8909go_benz:/data/app # lslscn.wps.moffice_eng-1qckU7E2l4V8BTnsA8SWEw==com.estrongs.android.pop-ZntFcOxK4pSp0Y7oOjMKyg==com.iflytek.inputmethod-EB...原创 2018-10-31 15:31:37 · 676 阅读 · 0 评论 -
PackageManagerService 源码解析
一.SystemServer创建PackageManagerService 省略二.PackageManagerService 构造函数 2.1 Settings mSettings = new Settings(mPackages); mSettings.addSharedUserLPw("android.uid.system", Proce...原创 2018-10-30 17:43:53 · 680 阅读 · 0 评论 -
PackageManagerService 源码分析(2)
一.scanPackageLIPKMS 中调用scanDirLI来分析APK 文件,如果目录下的是apk文件或者是目录,会继续调用scanPackageLI函数: private PackageParser.Package scanPackageLI(File scanFile, int parseFlags, int scanFlags, long ...原创 2018-10-31 09:22:28 · 415 阅读 · 0 评论 -
Android AOA 通道 FW 层建立
基于LC6500 模块AOA 通道的建立 1.AOA 介绍AOA 为Android Open Accessory的缩写,简单点说,就是Android支持的USB 设备形态中的一种。一个Andorid系统的AOA模式分为两种: HOST模式: Android 设备在HOST模式下,将会提供电源给外部设备并与之建立通...原创 2018-11-01 19:14:27 · 1757 阅读 · 0 评论 -
【输出文档】 Android MountService 源码分析
Android 存储设备管理框架在android之VOLD进程启动源码分析一文中介绍了存储设备的管控中心Vold进程,Vold属于native后台进程,通过netlink方式接收kernel的uevent消息,并通过socket方式将uevent消息发送给MountService,同时实时接收MountService的命令消息,MountService,Vold,Kernel三者的关系如下图所...原创 2018-10-26 19:30:44 · 522 阅读 · 0 评论 -
【输出文档】 Android 6 USB 模块解析
USB模块解析简介主要完成USB 功能的切换和状态的更新。通过接受kernel发送过来的event消息来确定USB状态的切换并向外界发送广播消息。 1.1 UsbDeviceManager主要功能函数简介:1.1.1 kernel层的event消息监控/* * Listens for uevent messages from the kernel t...原创 2018-10-26 19:17:05 · 1122 阅读 · 0 评论 -
PackageManagerService 源码分析 (3) ApplicationInfo 相关
PackageParser.Package.ApplicationInfo 类Application 是PackageParser.Package 的一个成员 一 . 调用情况:1.PackageParser.parseBaseApk() : 1. 解析指定路径apk的AndroidManifest.xml文件,遇到tag为”application”时,会调用parse...原创 2018-10-31 11:20:22 · 540 阅读 · 0 评论 -
【笔记】Installd , Installer 分析
1. Installd1.installd 在SystemServer.java 中创建,Android APK的安装和卸载主要是由Installer和Installd完成的2.PackageManageService这么大的组件了,为什...原创 2018-10-26 16:29:03 · 923 阅读 · 1 评论 -
【笔记】 PackageManagerService 分析
1.Settings 类:Settings主要用于保存一些信息,实际上它确实是用于管理Android系统运行过程中的一些设置信息 1.成员变量: 1.settings 类初始化时 生成/创建/data/system/ 下的packages.xml , packages-backup.xml 和 packages.list 文件; 2.packages.xml...原创 2018-10-26 16:30:36 · 327 阅读 · 0 评论 -
【笔记】Activity四种启动模式区别
参考:https://blog.youkuaiyun.com/edisonchang/article/details/49981457activity 启动的四种模式 :AndroidManifest.xml :: android:launchMode="???"1.standard:【不会检测ACTIVITY 是否重复】 Activity的默认启动模式,在这种模式下启动的acti...原创 2018-10-26 16:33:00 · 1242 阅读 · 0 评论 -
【笔记】ActivityManagerService 流程
1.AMSsystemReady() 都是SystemServer 启动此service后,完成启动,SystemServer主动调用的。2. 1.HOME 点击icon 2.application 中调用startActivity 3.Back 键 4.长按HOme 键显示最近运行Task 5.adb shell 启动 以上都是通过Binder 机制...原创 2018-10-26 16:37:58 · 243 阅读 · 0 评论 -
【笔记】AppOpsService 相关
AppOpsService 相关:1.构造函数:读取/data/system/appops.xml 下 权限相关设置信息;2.权限检测:SDK >23 时,调用ContextCompat::checkSelfPermission() 就可以检测是否有权限。SDK <23 时,6.0 一下的系统,主要权限在权限清单中,都是返回true3.权限的读取/修改: 1.系统...原创 2018-10-26 16:41:46 · 1182 阅读 · 1 评论 -
【笔记】Android Property 相关
property:1.init中启动的propertyservice2.进行系统属性设置的程序也必须有system或root权限3.修改未system 权限 1 在AndroidManifest.xml中,在manifest加入android:sharedUserId="android.uid.system" 2 在Android.mk中,將LOCAL_CERTIFICATE ...原创 2018-10-26 19:14:52 · 261 阅读 · 0 评论 -
AOA
1. host 端 先自己开起一个应用,此应用会调用UsbManager 将系统USB 设置为accessory 状态;2.host 端连接 client 端,host 端APP 注册了usblib ,回调的usb_device_add () 函数会 返回当前client 端作为USB 设备的status3.host 端会检查client 端作为USB device 的 vid 和 p...原创 2018-11-01 19:33:36 · 1487 阅读 · 0 评论 -
【项目】auot-start
1.Qaulcomm 有自己的auto_start 权限: 1.AppOpsManager 中添加 OP_AUTO_START 权限项 2.AMS 中添加 isAutoStartAllowed 函数:调用AppOpsService 的noteOperation 函数,检测此pkg是否有AppOpsManager.OP_AUTO_START 3.isAutoStartAllowed函数...原创 2018-11-02 12:02:27 · 291 阅读 · 1 评论 -
【笔记】ActivityManagerService 启动activity
https://blog.youkuaiyun.com/csdn_of_coder/article/details/78024696 1.Activity向AMS 发起请求启动App 1.1 AMS 启动Activity 流程AMS 调用startActivity() 来启动APP: public final int startActivity(IApplicationT...原创 2018-11-17 12:14:36 · 389 阅读 · 0 评论 -
【笔记】 Activity在server端启动流程
1.预启动 此阶段 6 步骤:1.AMS.startActivity 获取client端的UID,判断Client端是否有权限启动应用程序Activity。2.ActivityStack.startActivityMayWait查询系统中域Intent 匹配的Activity 1 调用resolveActivity 通过PKMS 查询是否存在指定Intent的Act...原创 2018-11-17 17:20:35 · 513 阅读 · 0 评论 -
【笔记】C++ 多态 例子
#include <iostream>using namespace std;class Animal{public: virtual void makeSound() { cout << "rawr" << endl; }};class Dog : public Animal{public: virtual void ma...原创 2018-11-18 11:45:54 · 282 阅读 · 0 评论 -
【C++ 学习】指针
******1.指针变量是 专门存放地址 的变量,所以对它进行赋值时只能赋值 地址;2.指针的初始化: int* ptr = null; 和 int *ptr = null; 是一样的,但是只有ptr 是代表指针变量, *ptr 代表的是指针引用;3.*ptr 代表是 “ 对指针变量ptr 进行* 运算”4. int* ptr =&a 合法(对指针变量 ptr 赋...原创 2018-11-29 17:23:33 · 521 阅读 · 0 评论 -
【笔记】C++ 特殊函数
1.struct option介绍在c程序应用程序执行的时,常常配有一些参数,如果参数少我们可以使用arvg,arvc来实现,如果参数很多并且需要传入参数复杂我们可以使用strcut option 来实现。struct option {/*name表示的是长参数名*/const char *name;/*has_arg有3个值,no_argument(或者是0),表示该参...原创 2018-11-29 14:30:02 · 1225 阅读 · 0 评论 -
【笔记】【C++】 fork 子进程
1.直接调用fork() 函数,即创建主进程的子进程。2.调用fork()函数后,会同时返回2个返回值;3.在父进程中,fork返回新创建子进程的进程ID; 在子进程中,fork返回0;#include <stdio.h>#include <unistd.h>int main(int argc,char *argv[]){... pri...原创 2018-11-29 16:28:39 · 616 阅读 · 0 评论 -
Android 8 原生app 和 第三方app 资源相关路径总结
一. 原apk文件路径: 1.系统app:/system/app/<PackageName>/<PackageName> .apk 2. 三方app: /data/app/<PackageName>/base.apk 二. dex优化后生成的课执行文件路径: 1.系统app:/sy...原创 2018-11-07 16:10:37 · 2245 阅读 · 0 评论 -
Android 6 init 源码分析
init 的源码在/system/core/init/init.cpp 下1. main int main(int argc, char** argv) { if (!strcmp(basename(argv[0]), "ueventd")) { return ueventd_main(argc, argv); } if (!strcmp(ba...原创 2018-11-07 17:34:35 · 285 阅读 · 0 评论 -
Android 8.0 系统启动流程 init 进程
1 . Linux系统执行完初始化操作最后会执行根目录下的init文件,init是一个可执行程序,它的源码在/system/core/init/init.cpp;2 . init进程是用户空间的第一个进程,系统中启动的app 进程都是以它为父进程的;1. init 进程入口函数: main()/* * 1.C++中主函数有两个参数,第一个参数argc表示参数个数,第二个参数是参数列...原创 2018-11-07 18:45:21 · 869 阅读 · 0 评论 -
【笔记】odex , vdex ,art 文件区别
1.vdexpackage 直接转化的 可执行二进制码 文件:1.第一次开机就会生成在/system/app/<packagename>/oat/ 下;2.在系统运行过程中,虚拟机将其 从 “/system/app” 下 copy 到 “/data/davilk-cache/” 下 2.odex odex 是从vdex 这个文件中 提取了部分模块生成的一个新...原创 2018-11-08 15:57:04 · 13402 阅读 · 9 评论 -
【笔记】MountService 路径映射关系图
原创 2018-11-08 16:37:25 · 761 阅读 · 0 评论