android framework 研究
天使之翼
为学日益 为道日损
展开
-
深入理解 Context
什么是Context?想必大家都不陌生,在 Android 开发中离不开 Context 调用各种跟系统有关的 API 都必须用到 Context 。我们可以将她理解为上下文环境,大概就是里面存储一堆全局变量,这些变量在调用系统 API 时需要用到。文字始终难以表达我想说的,咱们来分析原理吧! Context 哪里来的?开发 Android 应用必须得有一个 Activity ,...原创 2013-10-10 13:42:16 · 22296 阅读 · 4 评论 -
CM自带ROOT请求处理流程
首先,CM ROOT 管理基于 Supersu 源码,所以先看看讲 Supersu 处理的文章点击打开链接原理大相径庭,只不过,CM UI 请求处理这部分改了种实现方法,那么,我们得有CM源码,在这里点击打开链接打开su.c ALOGE("SU from: %s", ctx.from.name); // the latter two are neces原创 2017-07-19 20:35:10 · 782 阅读 · 0 评论 -
android 时区表以及设置系统时区
从Android系统源码复制出来的 马朱罗 中途岛 檀香山 安克雷奇 美国太平洋时间 (洛杉矶) 美国太平洋时间 (提华纳) 美国山区时间 (凤凰城) 奇瓦瓦 美国山区时间 (丹佛) 美国中部时间 (哥斯达黎加) 美国中部时间 (芝加哥) 美国中部时间 (墨西哥城) 美国中部时间 (里贾纳)原创 2016-11-08 10:09:13 · 16289 阅读 · 2 评论 -
【疑难】Android 在 WindowManager 中使用 ListView 点击不响应问题记录
如果需要在 Android 手机上显示一个浮动窗口,你可以使用 WindowManager.addView 但是这次我遇到的问题是,浮动窗口包含了一个 ListView,遇到的问题是 onItemClick(AdapterView parent, View view, int position, long id) 事件死都不响应于是我就蛋疼了,各种尝试,查资料,原创 2016-04-09 12:45:19 · 2148 阅读 · 1 评论 -
android WindowManagerService addFakeWindow 研究
首先,该方法起源于:FakeWindow com.android.server.wm.WindowManagerService.addFakeWindow(Looper looper, Factory inputEventReceiverFactory, String name, int windowType, int layoutParamsFlags, int layoutParamsPr原创 2016-04-02 22:30:59 · 1093 阅读 · 0 评论 -
android 系统级的开机启动程序
看到一篇好文讲到了这个方面,于是做个笔记记录下原文地址:点击打开链接AndroidManifest.xml 的 application 有一个 属性,下面是这个单词的意思,似乎跟开机启动概念不太匹配这个属性开启的条件是:if ((info.flags&(ApplicationInfo.FLAG_SYSTEM|ApplicationInfo.F原创 2016-01-10 15:08:26 · 976 阅读 · 0 评论 -
Android 从输入法 到 EditText 研究
首先看一个 View 的一个方法:View 没有实现,直接返回 null,再看 TextView 的实现, @Override public InputConnection onCreateInputConnection(EditorInfo outAttrs) { if (onCheckIsTextEditor() && isEnabled())原创 2016-01-15 18:41:33 · 2407 阅读 · 5 评论 -
如何让你的APK跑在 com.android.phone 进程
首先:为什么要跑在 com.android.phone 进程这还用问,在同一个进程里就可以干很多事情了这是黑客行为为什么能跑在统一进程?Google 在设计 Dalivk 虚拟机的时候就考虑到了将多个 apk 放在同一个进程运行,但是实际中,我们每安装一个应用都是跑在独立进程,独立虚拟机,其实也可以将你开发的所有应用跑在统一进程,统一虚拟机的跑在同一进程的条件1.同一签名 2.UID相同 ‘and原创 2015-07-22 21:57:46 · 4408 阅读 · 0 评论 -
Direct-Run-Apk apk免安装运行原理与实现(一)
源码:https://github.com/Yichou/apkrunner想解决任何问题之前都得追溯根源那么我们来看看apk 是如何启动的,首先你得安装这个apk,完了在Launcher点击图标,然后apk就启动了,辣么:点击apk图标系统做了工作?我们从logcat观察, 新建一个过滤器以 ActivityManager或者system_process为 Ta...原创 2015-03-29 23:06:57 · 14555 阅读 · 6 评论 -
Android ActivityManager isUserAMonkey() 方法探究 与 monkey 测试
首先,这个方法纯属 google 开的一个玩笑先看官方 API 解释isUserAMonkey()Returns "true" if the user interface is currently being messed with by a monkey.字面意思为 返回 true 如果此时用户界面被一直猴子给搞乱了api 文档看不出什么究竟,我们来看下源码吧原创 2013-12-22 00:25:23 · 5274 阅读 · 0 评论 -
android fastboot oem 命令
fastboot oem help >> 1.txt(bootloader) slot-count: not found(bootloader) config...(bootloader) partition...(bootloader) ramdump...(bootloader) blankflash(bootloader) fb_mode_set(bo原创 2017-07-21 16:56:11 · 20362 阅读 · 0 评论