XPOSED源码研究之XposedInstaller(1)从manifest开始XposedApp
来源:互联网 发布:追信魔盒在线制作软件 编辑:程序博客网 时间:2024/05/29 17:00
分析最简单的开始方式就是从manifest入手,找到application为:XposedApp,主启动类为:WelcomeActivity。
这一节先从XposedApp开始分析,后一节分析WelcomeActivity。
XposedApp实现了ActivityLifecycleCallbacks接口,主要用以在activity的生命周期发生变化时能收到相应的通知。
主要是在onCreate中进行一些初始化操作,一些封装的函数和实现方法比较值得学习和借鉴。
创建并设置文件权限:FileUtils.setPermissions
private void createDirectories() { mkdirAndChmod("bin", 00771); mkdirAndChmod("conf", 00771); mkdirAndChmod("log", 00771); }
private void mkdirAndChmod(String dir, int permissions) { dir = BASE_DIR + dir; newFile(dir).mkdir(); FileUtils.setPermissions(dir, permissions, -1, -1); }
在主线程中运行线程:
public static void runOnUiThread(Runnable action) { if (Thread.currentThread() !=mUiThread) { mMainHandler.post(action); } else { action.run(); } }
后面判断当前线程是否是主线程,如果不是的话调用post方式,在子线程中利用主线程的Handler的post()方法,更改UI这个在子线程中sendMessage()原理和形式都很类似,
具体参考:Handler详解系列(五)——Handler的post()方法详解
静态函数getActiveXposedVersion提供了类似“接口”的功能,在动态运行时由XposedBridge进行hook掉返回当前xposed的版本号。
checkCallingOrSelfPermission(Manifest.permission.INTERNET) != PackageManager.PERMISSION_GRANTED
判断自己或者其它调用者是否有 permission 权限 。
setProgressBarIndeterminateVisibility显示不带进度的进度条,具体示例参考:android学习笔记32:标题栏进度条。
0 0
- XPOSED源码研究之XposedInstaller(1)从manifest开始XposedApp
- XPOSED源码研究之XposedInstaller(2)从manifest开始WelcomeActivity
- XPOSED源码研究之XposedInstaller(3)XposedInstallerActivity
- XPOSED源码研究之XposedInstaller(4)InstallerFragment
- XPOSED源码研究之XposedInstaller(5)ModulesFragment
- XPOSED源码研究之XposedInstaller(6)DownloadFragment
- XPOSED源码研究之XposedInstaller(7)SettingsFragment
- XPOSED源码研究之简单介绍
- 解读(一):从manifest开始
- Android 研究之路从这里开始
- 从View开始研究FrameWork层的源码
- SOA研究(1)-从NIO开始
- 开始研究tomacat源码
- CNTK从入门到深入研究(1) - 一切都从介绍和环境搭建开始
- Android5.1源码Xposed框架编译
- 研究规划:从现在开始
- 从cvLoadImage开始--OpenCV源码阅读之三[转]
- Lua 源码分析之一切从这里开始
- 从零开始写一个发送h264的rtsp服务器(上)
- 黑马程序员——Java基础——集合(二)
- [Elasticsearch] 聚合中的重要概念 - Buckets(桶)及Metrics(指标) 1
- ViewPager禁止左右滑动
- Android的NDK开发(1)————Android JNI简介与调用流程
- XPOSED源码研究之XposedInstaller(1)从manifest开始XposedApp
- metasploit常用命令
- 2015多校第一场1002(单调队列、STL multiset、)
- PCIe SSD 加速MongoDB
- 查询耗费CPU最多的SQL语句
- quick cocos2d-x 与android实现更换头像
- iphone开发具备条件以及一些vim常见指令的意思
- Linux 下 自动删除N天前文件
- XPOSED源码研究之XposedInstaller(2)从manifest开始WelcomeActivity