自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 siminfo表格解析

位于data/user_de/0/com.android.providers.telephony/databases/telephony.db。content query --uri content://telephony/carriers //查询carrier表格。1>导出telephony.db用数据库工具查看。SubscriptionInfo中常用方法。content 命令帮助(增删改查)3>. 使用content命令查询。工具推荐使用SQLiteSpy。2>使用sqllite3 查看。

2023-11-13 10:05:10 152

原创 android View使用及源码分析

if (!//子类ListenerInfo点击按钮的堆栈打印如下查看View中的performClick,源码如下。。。if (li!= null) {//调用onClick} else {//对应setOnFocusChangeListener//对应addOnLayoutChangeListener//对应setOnScrollChangeListener。

2023-09-14 09:35:44 212

原创 android 广播源码分析

源码逻辑与sendBroadcast 相似,调用到ActivityManagerService中的registerReceiver。源码路径/frameworks/base/core/java/android/content/后续逻辑参考https://www.jianshu.com/p/adc4faa000b9。ActivityManagerService中的broadcastIntent。源码中为调用ContextImpl中的sendBroadcast ,源码如下。一.android中使用。

2023-09-14 09:28:27 150

原创 Handler源码分析

2>通过Handler类的obtainMessage获取,实际也是调用Message中的obtain方法,区别在于此时的handler为它本身。代码路径:framework/base/core/java/android/os/发送消息时调用RegistrantList中的 notifyRegistrants。查看MessageQueue中的enqueueMessage,主要逻辑如下。在继承Handler的类中重写handleMessage方法。调用Handler类中的sendMessage发送。

2023-08-21 15:32:18 83 1

原创 Ethernet framework层分析

由http://aospxref.com/android-10.0.0_r47/xref/frameworks/base/services/java/com/android/server/SystemServer.java#1387创建。由http://aospxref.com/android-10.0.0_r47/xref/frameworks/base/services/java/com/android/server/SystemServer.java#1316创建。网络检测/评分与网络选择。

2023-08-16 21:16:38 211 1

原创 SettingsProvider分析

相关命令:adb shell settings get/put global/system/secure //获取 ,设置adb shell settings list global/system/secure //获取所有。

2023-08-16 16:36:29 114

原创 api接口总结

INetworkManagementService为NetworkManagementService,需使用services.jar。需要使用telephony-ext.jar ,使用系统app或者Settings添加广播接收器。

2023-08-16 16:23:35 108 1

原创 SystemUI源码分析之状态栏

config_systemUIServiceComponents位于/frameworks/base/packages/SystemUI/res/values/config.xml,定义了各个activity,这些activity 均继承SystemUI.java。添加的icon定义在/frameworks/base/core/res/res/values/config.xml中的config_statusBarIcons,总共32个。查看StatusBar的start方法,重点关注下面逻辑。

2023-08-16 09:00:55 192 1

原创 Settings界面分析

Settings.java总共有124个子类,继承SettingsActivity,SettingsActivity继承SettingsDrawerActivity,查看SettingsDrawerActivity,加载了布局文件settings_with_drawer,位于frameworks/base/packages/SettingsLib/res/layout/返回到DashboardSummary中的onViewCreated,这里会调用rebuildUI。

2023-08-15 21:20:09 105

原创 launcher流程分析

谁会发送ACTION_USER_UNLOCKED呢,全搜发现在UserController.java中的finishUserUnlocked中发送,在此处加上堆栈打印,可以知道UserController收到了消息SYSTEM_USER_UNLOCK_MSG会处理,该消息来自finishUserUnlocking。在此处添加打印,打印获取到的query和返回的bestChoice,其结果如下:,选择FallbackHome时只查询到了FallbackHome,Launcher还没起来。

2023-08-15 19:39:59 177

原创 tzdata更新

tzdata包:Index of /ubuntu/pool/main/t/tzdata/官网:http://www.iana.org/time-zones代码路径:system\timezone\input_data\iana\tzdata2017b.tar.gz执行脚本:update-tzdata.py(执行时先soure ,lunch ,make)生成路径: system\timezone\output_data\iana\tzdata。

2023-08-15 19:28:17 362

原创 文件管理app源码分析

为RootsFragment中的onLoadFinished的结果,来自RootsLoader,其监听com.android.documentsui.action.ROOT_CHANGED,由ProvidersCache中的doInBackground发送。DirectoryLoader进行加载数据,DirectoryFragment进行界面的显示,DirectoryAddonsAdapter为界面的适配器。适配器DirectoryAddonsAdapter,主要逻辑如下。

2023-08-15 19:08:59 297

原创 app权限

定义在/frameworks/base/core/res/AndroidManifest.xml中,查看protectionLevel字段,可分为normal,signature(需系统签名),privileged,dangerous(需动态申请)等。priv_app :没有platform签名的app(肯定没有system权限), 但Android.mk 中 LOCAL_PRIVILEGED_MODULE := true, 在priv-app 目录下的。比如以下两个语句会冲突。比如以下两个语句会冲突。

2023-08-15 18:55:01 93

原创 源码下编译apk

android studio写的源码如何放在源码环境中编译。

2023-08-15 18:16:35 81

原创 android studio导入jar包

比如framework ,将classes.jar 重命名为framework.jar ,放在指定目录下。注意:修改后依旧报红,但可以编译成功。

2023-08-15 18:13:16 120

原创 dial应用源码分析

在DialpadFragment点击拨号会执行以下逻辑,重点关注prohibitedPhoneNumberRegexp,设置该值可以限制输入哪些号码,其定义在strings.xml中的config_prohibited_phone_number_regexp。打开dialer界面,抓取log:,主界面为com.android.dialer/.main.impl.MainActivity。在OldMainActivityPeer中点击拨号按钮会执行以下代码。查看MainActivity,主要逻辑如下。

2023-08-15 16:33:20 99

原创 telephony上层应用功能分析

卡激活:extTelephony.activateUiccCard卡停用:extTelephony.deactivateUiccCard切换默认数据卡:subscriptionManager.setDefaultDataSubId切换默认短信:subscriptionManager.setDefaultSmsSubId切换默认电话:phoneAccountsList = telecomManager.getCallCapablePhoneAccounts()

2023-08-15 11:37:09 219

原创 开机注网流程

MM模块收到reg模块发来的注册请求,根据传来的intial_rat 发送rrc_service_req去激活对应协议栈,在接入层模块进行扫频,小区搜索,小区选择等。收到注册成功的消息(DATA_REGISTRATION_STATE)→apn连接(trySetupData)→卡loaded–>trySetupData。plmn和rat选择在reg模块中完成,通过CM_SERVICE_REQ发起,分为手动模式和自动模式。apn配置在apns-conf.xml文件中 ,一般位于/system/etc/下。

2023-08-15 10:11:00 314

原创 【开机SIM卡加载流程】

开机SIM卡加载BP和AP侧流程

2023-08-14 12:51:18 561

原创 代码调试方法

【代码】代码调试方法。

2023-05-19 16:59:56 94 1

原创 carrier_config随卡配置

/获取carrierId。for (String file : getApplicationContext().getAssets().list(“”)) { // /packages/apps/CarrierConfig/assets/目录。obtainMessage(EVENT_BIND_DEFAULT_TIMEOUT, phoneId, -1),//发送EVENT_BIND_DEFAULT_TIMEOUT。//调用RIL.java中的getIMSIForApp 发送消息GET_IMSI到ril。

2023-05-19 16:12:38 746 3

原创 apn参数源码分析

apn参数分析

2023-01-29 15:39:40 249 1

原创 SIM卡文件介绍及加载

SIM卡文件加载流程分析

2023-01-29 11:57:55 1600

空空如也

空空如也

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

TA关注的人

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