关于Handler的源码流程,我也看过很多遍,却没有认真的写过一篇博客,每次想看的时候都要上网去找一些博客。这次我想自己认真的写一篇Handler的博客,好供自己还有需要的人学习。说到Handler相信大家都不陌生,谁的项目中还没用过Handler呢,是吧。这篇博客,我打算从源码中来撸Handler的流程,对于Handler的时候,我就不再这里废话了。一、源码提到Handler就一定要说的四个类:
前言上一篇文章分享了宿主的gradle插件的源码分析,本文将分析插件项目的gradle插件的源码,360的插件apk是支持独立安装的,这点和其他插件化框架有不小的区别,很显然插件程序肯定做了不少事情。一、源码结构显然光看这代码量就知道比宿主gradle插件干的事情多。二、源码分析插件入口类:com.qihoo360.replugin.gradle.plugin.ReClassPlugin@Over
转载 2023-09-29 09:52:05
91阅读
Replugin源码解析一、ClassLoader介绍有3个,BootClassLoader,PathClassLoader,DexClassLoaderBootClassLoader 用来加载系统类,如Android中各种SystemManager各种Service类,对于所有应用来说加载到的都是同一个系统类,这个BootClassLoader是属于系统的,应用无法使用,防止应用随意加载系统级的
插件化和热修复是Android开发较为高级的知识点,是中级开发人员通向高级开发中必备知识点,插件化知识:插件化。下文是对热修复的总结:什么是热修复?1.软件发布之后,总会出现一些Bug,这个时候就需要去解决bug然后测试,并打渠道包在各大应用市场上发布,这样就会耗费大量的人力物力。2.升级版本的成功率不太高,而且需要很长的时间来覆盖之前的版本,这样旧版本的bug就会一直影响着没有升级版本的用户。3
RePlugin,360开源的全面插件化框架,按照官网说的,其目的是“尽可能多的让模块变成插件”,并在很稳定的前提下,尽可能像开发普通App那样灵活。那么下面就让我们一起深入♂了解它吧。 (ps :阅读本文请多参考源码图片 ( ̄^ ̄)ゞ ) 一、介绍 RePlugin对比其他插…
原创 2022-05-23 10:28:54
347阅读
1. RePlugin 概述RePlugin是一套完整的、稳定的、适合全面使用的,占坑类插件化方案。 具体来说有如下特点: 完整的:让插件运行起来“像单品那样”,支持大部分特性 稳定的:如此灵活完整的情况下,其框架崩溃率仅为业内很低的“万分之一” 适合全面使用的:其目的是让应用内的“所有功能皆为插件” 占坑类:以稳定为前提的Manifest占坑思路 插件化方案:基于Android原生API和语言
转载 2024-07-28 09:15:38
38阅读
这应该算是给作者打的广告吧。如有涉及侵权,请通知我立刻删除。 1.应用场景 Android开发人员不多,又要求使用插件化开发的模式。(简单点讲就是自己需要写宿主APP,还有N多个插件需要开发) 如下图: 360官方给的Demo是宿主一个工程,插件一个工程,并且工程的build.gradle文件中添加宿主和插件对应所需要的依赖,多人开发时,每个人或多个人维护一个宿主工程或者插
一、360Replugin简介RePlugin是一套完整的、稳定的、适合全面使用的,占坑类插件化方案,由360手机卫士的RePlugin Team研发,也是业内首个提出”全面插件化“(全面特性、全面兼容、全面使用)的方案。其主要优势有:极其灵活:主程序无需升级(无需在Manifest中预埋组件),即可支持新增的四大组件,甚至全新的插件非常稳定:Hook点仅有一处(ClassLoader),无任何B
转载 2024-04-23 14:38:16
89阅读
目录1.宿主和插件的交互2.插件的安装3.插件的加载4.启动插件的Activity5.Replugin Hook系统ClassLoader 1.宿主和插件的交互Replugin默认会使用一个常驻进程作为Server端,其他插件进程和宿主进程属于Client端。如果修改不使用常驻进程,宿主的主进程将作为插件管理进程,Server端其实就是创建了一个运行在该进程中的Provider,通过Provid
转载 2023-12-27 21:23:09
75阅读
1 RePlugin 介绍RePlugin是一套完整的、稳定的、适合全面使用的,占坑类插件化方案,由360手机卫士的RePlugin Team研发,也是业内首个提出”全面插件化“(全面特性、全面兼容、全面使用)的方案。其主要优势有:极其灵活:主程序无需升级(无需在Manifest中预埋组件),即可支持新增的四大组件,甚至全新的插件 **非常稳定:**Hook点仅有一处(ClassLoader),
转载 2023-09-28 15:33:05
60阅读
    一直想要root一下买来的360手机,可是官方一直都没有亮出来它的root方法.万能的手机360root也是对此表示遗憾.    于是乎一直以来我就把这个刷机的事情忘了,今天偶然想起来手机需要装一个东西,必须要刷机,没有办法,就只能找一下刷机的教程了.不过还是有大神能够把这些东西给弄出来的,这里我就小小的搬运一下大神的杰作,让更多
     Android 插件化框架经过多年的发展已经出现很多成熟的方案。依然记得自己最早接触的DL框架,在能够让APP不经过安装就可以加载功能新模块,别提有多兴奋。再到之后的360的 DroidPlugin 等等,感谢开发者们无私的奉献,让大家受益匪浅。     接下来会有一个插件化系列的文章主要介绍一下当下一些插件化框架的设计思想和代
点击图片购书1.什么是RePlugin?在Android开发领域,有关插件化的讨论一直热度不减。目前市面上的插件化方案虽然很多,但多数只能实现某些功能的插件化,距离开发者的预期尚有相当差距。对此,在近期GMTC全球移动技术大会上,360手机卫士主程序架构负责人张炅轩宣布,360的插件化框架RePlugin已经可以实现“全面插件化”,同时具有出色的稳定性和灵活性,可适用于各种类型的应用上。“RePl
原创 2018-06-08 16:44:58
1925阅读
点击链接购书1.什么是RePlugin?在Android开发领域,有关插件化的讨论一直热度不减。目前市面上的插
原创 2022-05-01 19:27:44
413阅读
一、首先我是在win7下通过wubi安装的Ubuntu10.04 64位,wubi安装最多只能分配30g空间,如果需要编译Android则空间不够,可以参照https://help.ubuntu.com/community/ResizeandDuplicateWubiDisk 来分配更多的空间,需要注意的是一开始使用wubi安装可以只分配它默认的最小空间给Ubuntu,然后再根据上面的方
转载 2023-07-24 13:20:07
102阅读
1. 根目录instruction:文件夹名内容art全新的ART运行环境bionic系统C库bootable系统启动引导代码build存放Android系统编译规则,以及generic等基础开发配置包。ctsAndroid 兼容性测试套件标准dalvikDalvik虚拟机developers开发者目录,包含构建App和一些demo代码development与应用成虚开发相关device设备相关配
转载 2023-08-23 12:11:09
153阅读
文章目录1 源码下载2 源码编译、导入Studio3 遇到的问题1 mac 默认是不区分大小写的,所以需要分区去下载源码。2 解决 repo sync error: Exited sync due to fetch errors3 error: in `sync -f`: revision refs/tags/android-8.1.0_r1 in platform/art not found4
Android4.4设置源码分析(一):设置主界面与各模块之间的联系寻找一个apk入口最快捷的途径就是查找AndroidManifest.xml文件,设置的AndroidManifest.xml文件如下:<application android:label="@string/settings_label" android:icon="@mipmap/ic_launch
转载 2023-10-30 19:46:49
63阅读
Android系统源码目录我们要先了解Android系统源码目录,为后期源码学习打下基础。关于源码的阅读,你可以访问http://androidxref.com/来阅读系统源码。当然,最好是将源码下载下来。下载源码可以使用清华大学开源软件镜像站提供的Android 镜像:https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/ 。如果觉得麻烦也可以查找国内的网
转载 2023-09-15 17:34:11
63阅读
0. 系列文章汇总Android Handler消息机制01-Message源码学习Android Handler消息机制02-Looper源码学习Android Handler消息机制03-Message源码学习1.源码本文主要是对Looper类的源码进行解析学习,用于更深入的理解Handler消息机制 Looper的源码路径为:android.os.Looper1.2 典型案例如下展示了一个源
转载 2023-06-26 14:14:40
71阅读
  • 1
  • 2
  • 3
  • 4
  • 5