Android-Hook
mayundoyouknow
喜欢运动,爱思考
展开
-
Android实现无痕埋点具体实现-采用代码插桩的方式
目录1.View.AccessibilityDelegate1.1先看下为什么采用View.AccessibilityDelegate方式,通过View源码如何执行点击事件:1.2完成替换View中AccessibilityDelegate类,实现sendAccessibilityEvent(this, eventType)方法2.gradle插件字节码插装2.1Android下apk编译流程2.2编写gradle插件模块(groovy文件实现)2.2.1工程下新建buildSr原创 2020-06-18 16:09:48 · 3048 阅读 · 0 评论 -
Android实现无痕埋点方案(View操作的事件统计和Activity与Fragment页面的数据收集)
目录1.埋点是什么?2.为什么需要无痕埋点?3.自动无痕实现方案?3.1如何准备识别每个View?3.1.1如何定位是那个视图?3.1.2保证View的ID不受Android版本影响3.1.2尽量保证ViewGroup下新插入视图时View的ViewTree路径下的同一层级下index不变(如何保证?)3.2代码实现View获取ViewTree路径(唯一ID)3.2.1获取Activity名字-所属页面3.2.2获取View所属Fragment页面3.2.3.原创 2020-06-15 22:40:46 · 2946 阅读 · 0 评论 -
Android开发自定义Gradle插件
目录1.在自己的module(例如:app)中build.gradle中定义插件2.创建当前项目的插件3.创建通用插件,发布到maven3.1.创建module3.2利用mavenDeployer发布插件3.3定义plugin应用在android studio中gradle作为主要的构建工具,其核心工作任务在于执行一系列的Task,而plugin在gradle构建过程又扮演着举足轻重的角色,有时为了完成相应的构建任务必须通过引入相应的插件来辅助,这些插件中定义了构建Projec.原创 2020-06-11 10:50:50 · 1212 阅读 · 0 评论 -
Android通过Hook技术实现一键换肤
实现换肤的方案:a.静态修改theme主题方式设置多套皮肤的theme;styles.xml<resources> <!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <!-- Customize your theme here. --> <it原创 2020-06-06 00:02:49 · 1349 阅读 · 0 评论 -
Android之Hook入门讲解
目录1.Hook是做什么的?(解决什么问题?)2.HOOK技术如何改变API执行结果的?3.使用Hook技术需要有实现Java反射和阅读源码的能力3.1Java反射3.2SDK源码4.Hook实现的通用思路5.Hook拦截点击事件加入统计点击次数5.1确认需要hook操作对象OnClickListener实现的实例5.2获取要hook干涉执行逻辑的拥有者(ListenerInfo对象);5.3创建(hook对象)OnClickListener类实例代理类,在代理.原创 2020-06-03 12:24:28 · 1900 阅读 · 0 评论