一些常识: 1)全书70个代码例子中,涉及到插件的例子,请先assemble插件的项目
转载
2018-07-16 10:30:00
239阅读
2评论
# Android 插件化开发指南
随着应用程序功能与需求的不断增长,Android 插件化开发逐渐成为一种流行的设计模式。插件化开发能够将应用程序的不同功能模块化,提供灵活性和可维护性,同时还可以减少主应用的体积。在本文中,我们将探讨 Android 插件化开发的基本概念,提供代码示例,并展示甘特图与关系图,以加深对该技术的理解。
## 什么是插件化开发?
插件化开发允许开发者将应用的功能
一、认识插件化1. 插件化起源插件化技术最初源于免安装运行 Apk的想法,这个免安装的 Apk 就可以理解为插件,而支持插件的 app 我们一般叫 宿主。 在 Android 系统中,应用是以 Apk 的形式存在的,应用都需要安装才能使用。但实际上 Android 系统安装应用的方式相当简单,其实就是把应用 Apk 拷贝到系统不同的目录下、然后把 so 解压出来而已。 常见的应用安装目录: /sy
转载
2023-08-21 02:57:06
178阅读
插件化是2016年移动端最火爆的几个名词之一,目前淘宝、百度、腾讯等都有成熟的动态加载框架,包括apkplug, 本篇博客就来探讨一下插件化设计。本博客主要从以下几个方面对插件化进行解析:Ø 为什么会提出插件化?Ø 插件化概述Ø 插件化例子 1. 为什么会提出插件化?一个Androi
转载
2023-09-28 09:41:59
331阅读
文章目录1. 前言2. 分析3. 加载外部资源文件代码4. References 1. 前言在上篇Android插件化开发指南——Hook技术(一)【长文】中提到最终的效果其实在插件中的MainActivity加载的资源文件activity_main.xml其实加载的还是宿主app的activity_main.xml文件。所以在这篇中将解决如何从插件apk中加载资源文件的问题。首先我们需要知道资
转载
2023-08-31 11:09:13
35阅读
个人感觉android 插件化是未来发展的一个需要,用户为什么必须按照开发人员的来使用,用户也可以根据自己的喜好来决定是否需要这个功能,想不想要这个功能,插件化就是一种可以根据用户的来定制的一种快速开发的方式。首先插件化个人理解有这几个好处,第一个是可以减小app的体积,第二个方便app的更新,第三个是用户定制化app。我是个人研究,目前处于入门,插件化的基础是classloader,俗称类的加载
转载
2023-08-17 11:40:33
61阅读
Android 插件化开发有两方面,一是代码的加载,二是资源的加载。基于上一篇Android activity的启动方式先对代码的加载说一下,下一篇说一下资源的的加载。插件化:将一个未安装的apk下载到本地,在未安装的情况下,宿主app可以打开apk 的activity,严格的插件化和组件化需要大家百度科普一下。上一篇<activity的启动>中提到最后是调用ActivityThrea
转载
2023-08-17 19:47:18
45阅读
插件化技术最初源于免安装运行 apk 的想法免安装的 apk 我们称它为 插件 支持插件的 app 我们称它为 宿主插件化解决的问题APP的功能模块越来越多,体积越来越大模块之间的耦合度高,协同开发沟通成本越来越大方法数目可能超过65535,APP占用的内存过大应用之间的互相调用插件化与组件化的区别组件化开发就是将一个app分成多个模块,每个模块都是一个组件,开发的过程中我们可以让这些组件相互依赖
转载
2023-07-06 14:22:23
93阅读
1、什么是插件化开发拿活跃用户量第一的微信来说,在第三个界面有个游戏,点开后可以选择很多的增植功能,这里腾讯只放了一些网页应用,那么如果未来想加入一个益智游戏,要怎么做?让用户重新安装吗,这就是插件化开发所解决的问题。插件式开发通俗的讲就是把一个很大的app分成n多个比较小的app,其中有一个app是主app。基本上可以理解为让一个apk不安装也可以被运行。只不过这个运行是有很多限制的运行,所以才
转载
2023-09-19 15:28:05
66阅读
1. 前言最近对Android插件化开发比较感兴趣,也读了部分《Android插件化开发指南》这本书。在该书中1.4部分介绍了这么一句话:我们曾天真地认为,Android插件化是为了增加新的功能,或者增加一个完整的模块。费了不少时间和精力,等项目实施了插件化后,我们才发现,插件化80%的使用场景,是为了修复线上bug。我现在也粗浅的认为插件化是为了新增新的功能,至于修复线上bug这部分,确实还没有
何为插件化?插件化即将一个完整的工程,按业务划分为不同的插件,都是分治法的一种体现。化整为零,相互配合。越小的模块越容易维护。Android 插件化开发和组件化略有不同,插件化开发是将整个app拆分成多个模块, 这些模块包括一个宿主和多个插件,每个模块都是一个apk,最终打包的时 候宿主apk和插件apk分开打包。插件化实现思路要实现插件化,主要要解决这三个问题:如何加载插件的类?如何启动插件的四
Android动态加载dex技术初探点击打开链接Android使用Dalvik虚拟机加载可执行程序,所以不能直接加载基于class的jar,而是需要将class转化为dex字节码。Android支持动态加载的两种方式是:DexClassLoader和PathClassLoader,DexClassLoader可加载jar/apk/dex,且支持从外部加载;PathClassLoader
转载
2023-08-29 12:41:07
64阅读
1 插件化简介Android插件化技术是一种这几年间非常火爆的技术,也是只有在中国才流行起来的技术,这几年间每每开发者大会上几乎都会提起关于插件化技术和相关方向。在国内各大互联网公司无不都有自己的插件化框架。插件化技术到底是什么?其实很好理解,像某些App中整合了很多功能点,而一些不是非常必要的功能一般会在用户点击功能入口时才会通过网络下载一个像补丁的东西,然后将其加载起来,使功能可用。而这种通过
转载
2023-07-03 19:08:12
89阅读
RePlugin提供了非常丰富的“自定义行为”特性。帮助您更好的在“无需修改源代码”的情况下,来使用RePlugin。本文将分为两大部分:如何自定义最常见的自定义行为如何自定义?RePlugin的自定义行为,全部集中在RePluginConfig类中,并写了非常详细的JavaDoc供您们参考。设置Config推荐在RePluginApplication中覆写createConfig方法,如下:pu
转载
2023-07-03 19:09:21
56阅读
读后感:以前公司也做过插件化的开发,偶然的一天网上逛书店,看到这本书,买来看看,到现在大概看了几章,感觉这本书差点意思。包含的东西很多,但是感觉里面的东西都不是太深,甚至有些地方个人感觉都是错误的。比如里面contentprovider的本质是把数据存储到数据库里。当然也有很多以前没有接触过的,也是有所收获的,同时也感谢作者的分享。主观感觉,不喜勿喷。欢迎指正。笔记1.插件化的昨天2012年7月2
转载
2023-07-03 21:29:44
65阅读
8.最简单的插件化解决方案插件化技术 1.合并所有插件的dex,解决插件类加载问题 2.预先在宿主中声明所有插件中得四大组件 3.把插件中的所有资源一次合并到宿主的资源中。8.1 在宿主清单文件里声明插件中的组件8.2hostapp 加载插件中的类/**
* * 由于应用程序使用的ClassLoader为PathClassLoader
* 最终继承自 BaseDexClassLoader
*
转载
2023-08-14 14:40:17
24阅读
安卓cordove插件开发指导这个部分介绍了怎样在安卓平台下开发cordova本地插件。在看此篇文章之前,应该先看 PluginDevelopment Guide。来获取一个整体的有关插件结构和JavaScript接口的节本了解。这篇文件接着上篇继续讲解回声示例。从cordova的webview传出字符串并传递回来的这个例子。同时可以参看代码里的注释。CordovaPlugin.java
Android插件化原理,从以下三个问题切入:什么是插件化如何实现插件类的加载如何实现插件资源的加载什么是插件化插件化技术最初是源于免安装运行APK的想法,这个免安装的APK就可以理解为插件,而支持插件的app,则称之为宿主;一方面减小了安装包的大小,另一方面可以实现 app 功能的动态扩展插件化解决的问题APP的功能越来越多,体积越来越大模块之间的耦合度高,协同开发的沟通成本越来越大APP功能变
转载
2023-09-26 13:10:19
69阅读
本文将带你一起开发你的第一个 Webpack 插件,从 Webpack 配置工程师,迈向 Webpack 开发工程师!做自己的轮子,让别人用去吧。一、背景介绍本文灵感源自业务中的经验总结,不怕神一样的产品,只怕一根筋的开发。在项目打包遇到问题:“当项目托管到 CDN 平台,希望实现项目中的 index.js 不被缓存”。因为我们需要修改 index.js 
原创
2022-03-30 14:13:13
1092阅读
本文将带你一起开发你的第一个 Webpack 插件,从 Webpack 配置工程师,迈向 Webpack 开发工程师!做自己的轮子,让别人用去吧。一、背景介绍本文灵感源自业务中的经验总结,不怕神一样的产品,只怕一根筋的开发。在项目打包遇到问题:“当项目托管到 CDN 平台,希望实现项目中的 index.js 不被缓存”。因为我们需要修改 index.js 中的内容,不想用户被缓存。思考一阵,有这么
原创
2021-04-16 20:40:54
728阅读