![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android hook
文章平均质量分 74
DroidMind
这个作者很懒,什么都没留下…
展开
-
再说Java动态代理
一、Java动态代理的实现方式 Java动态代理有两种方式实现 1、首先得到代理类,然后创建代理实例InvocationHandler handler = new InvocationHandlerImpl(..); // 1、得到指定接口代理类的ClassClass clazz = Proxy.getProxyClass(classLoader, new Class[] ...原创 2016-06-07 12:47:14 · 528 阅读 · 0 评论 -
Android WindowManagerService解析(4)
看篇文章之前,建议先看看前面几篇,这样理解会更深刻,下面我们来看看PopupWindow的显示过程一、PopupWindow的创建public PopupWindow(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { mContext = context; ...原创 2017-11-24 16:18:36 · 423 阅读 · 0 评论 -
Android WindowManagerService解析(3)
在前面 Android WindowManagerService解析(2)中,我们了解到了Activity背后的Window,下面我们来看看Dialog背后的Window一、Dialog的创建 Dialog.javaDialog(Context context, int theme, boolean createContextThemeWrapper) { // ...原创 2017-11-24 14:21:26 · 356 阅读 · 0 评论 -
Android WindowManagerService解析(2)
一、Activity背后的Window每个Activity都对应一个Window,Activity并不是UI真实的载体,真实载体是Activity中的Window。 Activity.javaprivate Window mWindow;final void attach(Context context, ActivityThread aThread, I...原创 2017-11-24 12:58:47 · 554 阅读 · 0 评论 -
Android WindowManagerService解析(1)
ContextImpl.java服务的注册函数private static void registerService(String serviceName, ServiceFetcher fetcher) { if (!(fetcher instanceof StaticServiceFetcher)) { fetcher.mContextCacheIn...原创 2017-11-23 17:25:01 · 940 阅读 · 0 评论 -
Android Hook PackageManager
通过前面文章 Android中的Context ,我们可以知道,当我通过Application、Activity或者Service调用getPackageManager()的时候,实质调用的都是ContextImpl类中的getPackageManager方法。所以我们从ContextImpl类中的getPackageManager方法看起。 ContextImpl.java...原创 2017-11-22 17:02:10 · 4493 阅读 · 1 评论 -
Android反射工具类ReflectUtil
public class ReflectUtil { public static Object getField(String clazzName, Object target, String name) throws Exception { return getField(Class.forName(clazzName), target, name); } ...原创 2017-11-22 17:05:47 · 2617 阅读 · 0 评论 -
【Android进阶】Android Binder之ServiceManager注册服务解析1
下面将通过一个系列来对binder进行解析,虽然之前很多人都已经写过相关的博客,不过还是决定自己来写写,把整个思路理一理,增加自己对binder的认识,也同时希望对大家有所帮助。首先我们来看的就是ServiceManager注册服务的过程,通过MediaPlayerService的注册过程来讲解整个注册的流程,主要为了看看binder跨进程通信的具体过程。下面直接上源码。 /fra...原创 2017-11-30 20:15:15 · 750 阅读 · 0 评论 -
Android WindowManagerService解析(6)
前面说过,所有的UI的绘制最终调用的都是WindowManager的addView方法,另外从前面我们也可以知道,我们操作的是WindowManagerImpl对象的addView方法,下面我们先来看看addView方法。public final class WindowManagerImpl implements WindowManager { private final Win...原创 2017-11-28 16:47:18 · 533 阅读 · 0 评论 -
Android中的代理模式
代理的概念:为某个对象提供一个代理,以控制对这个对象的访问。 代理类和委托类有共同的父类或父接口,这样在任何使用委托类对象的地方都可以用代理对象替代。代理类负责请求的预处理、过滤、将请求分派给委托类处理、以及委托类执行完请求后的后续处理。抽象对象角色:就是代理类和委托类共同的接口,声明了目标对象和代理对象的共同接口,这样一来在任何可以使用目标对象的地方都可以使用代理对象。目标对象角色:就是委托类,...原创 2016-04-09 18:54:44 · 1866 阅读 · 0 评论 -
Android WindowManagerService解析(5)
强烈建议看这篇文章前把前面的几篇都看看,这样理解更深刻下面来看看Toast的显示过程一、Toast的创建public static Toast makeText(Context context, CharSequence text, int duration) { Toast result = new Toast(context); LayoutInflate...原创 2017-11-24 17:07:52 · 429 阅读 · 0 评论