前言最近公司要求研究一下 uniapp 的 android 原生插件的开发,为以后的工作做准备。这篇文章记录一下自己的学习过程,也帮助一下有同样需求的同学们 : )一、下载安装Hbuilder X , Android studio(相关的安装配置过程网上有很多,在这里就不再赘述,具体配置要求也可以访问官网查看Android 插件开发教程) 二、开发步骤1.下载uniapp 的Android 离
转载
2023-07-03 21:28:45
429阅读
1、前言这篇文章来讲一下Android插件化的原理和大概的一个运行流程,最后将一个demo呈现出来。2、分析插件说到底就是一个apk文件,我们要做的事情是从宿主中加载该apk文件的类对象(比如启动Activity)和使用该apk文件的资源等操作。我们知道系统是不会安装apk插件的,所以宿主是不知道我们的插件的任何信息。我们之前分析了Activity的启动过程,其实就是在ActivityThread
转载
2023-07-27 10:57:26
152阅读
前言Hypnus是古希腊神话中的睡神,以Hypnus命名这个插件是希望我们程序员能够得到更多的休息。由于项目越来越大,不管是用模块化还是组件化从点击运行按钮到项目编译完成需要一段时间,Hypnus要做的就是在编译完成后能够以音乐的形式通知到我们开发者(现在AndroidStudio在处于后台时候编译完成是有通知提示的,但我要做的是希望能够解放我们的双眼)。这样我们开发者可以在不影响开发效率情况下,
插件学习 准备知识classloader 类加载机制Binder,AIDL,IPC插件化与组件化区别组件化开发就是将一个app分成多个模块,每个模块都是一个个组件,开发的过程中我们可以让这些组件相互依赖或者单独调试组件,但是最终发布的时候是将这些组件并成一个apk发布,而插件话 是分为一个宿主 和多个插件apk ,插件话成本高就是 适配 android版本,每个android版本的源码实现都不同,
转载
2023-07-12 14:43:34
157阅读
今日科技快讯近日,滴滴方面表示:按照北京市网约车细则的规定,将于4月1日前停止对全北京地区(包括六环外)外地牌照网约车进行派单。同时因近期运力减少,在部分地区、部分时段上,可能会在一定程度上对用户打车成功率、等待时长等方面造成影响,对此表示歉意。 作者简介本篇来自 刘镓旗 的投稿,详细地分析了插件化的原理并给出了实现过程。本文着重于思路分析以及实践,文中涉及的某些知识点(比如 Bind
写在前面;这几年移动开发业界兴起的「 插件化技术 」的旋风,各个大厂都推出了自己的插件化框架,各种开源框架都评价自身功能优越性,令人目不暇接。随着公司业务快速发展,项目增多,开发资源却有限,如何能在有限资源内满足需求和项目的增长,同时又能快速响应问题和迭代新需求,这就是一个矛盾点。此时,插件化技术正好风生水起,去了解各个主流框架实现思路,看看能对目前工作是否有帮助,是很有必要的。主要分为以下几个部
转载
2023-07-09 21:12:40
77阅读
在尝试 DroidPlugin 插件化的过程中,会遇到一些挺细节的问题,最终大部分情况还是通过阅读框架代码或者源码解决,个人觉得这个也是一个比较好的学习过程,所以将一些细节问题纪录一下。关于插件Applaciton的问题(资源加载引发的思考)这个问题,主要和同事讨论,如果避免资源文件冲突的问题,因为部分插件化框架中,通过编译的时的设置,改变资源文件在R文件中的ID值,然后通过反射的方式借助 Ass
转载
2023-07-27 10:54:02
63阅读
0. 前言 在Android开发中,插件化就是让我们的应用可以把一些功能和逻辑单独抽出来放在插件apk中,然后主apk做到按需调用,这样的好处是一来可以减少主apk的体积,二来可以做到热插拔,在不发布新版本的情况下实现更新某些模块,更加动态化。网上有很多插件化的解决方案和框架,但是它们都必须解决几个基础问题:插件类的加载,插件资源的加载和插件Activity的管理。1.&nb
转载
2023-08-29 20:09:08
125阅读
前言在Android 高阶技术中,动态化算是一个方向,而在动态化中最知名的就是插件化相关技术了。插件化技术最初源于免安装运行apk的想法,这个免安装的apk可以理解为插件。支持插件化的app可以在运行时加载和运行插件,这样便可以将app中一些不常用的功能模块做成插件,一方面减小了安装包的大小,另一方面可以实现app功能的动态扩展。想要实现插件化,主要是解决下面三个问题:1. 插件中代码的加载和与主
转载
2023-11-04 21:14:55
53阅读
概述插件化是一种动态升级app功能的解决方案,不同于热修复(仅仅是修复功能),类似于RN、Weex(目的类似)。都是为了在不发版本的情况下,可以让用户用上最新的功能。不过RN、Weex还额外支持跨平台。相对于RN和Weex,插件化有以下的优缺点:优点:对于业务方,无额外的学习成本,基本无感知性能等同于原生、可以做任何原生可以做的事情天然代码隔离、使得插件化的代码更加的“高内聚、低耦合”插件并发开发
转载
2023-10-29 08:12:44
77阅读
一、简介插件化开发是将整个app拆分成很多模块,这些模块包括一个宿主和多个插件,每个模块都是一个apk(组件化的每个模块是个lib),最终打包的时候将宿主apk和插件apk分开或者联合打包。由宿主APP去加载以及运行插件APP。二、存在的意义宿主和插件分开编译并发开发动态更新插件按需下载模块解除单个dex函数不能超过65535的限制处境:开放出来的插件化开发框架比较多,他们各自都有自己的优势和和不
转载
2023-09-14 21:06:07
138阅读
前言已经好久好久没有更新博客了,去年后半年太忙,没怎么抽出时间来写博客。以后给自己定个小目标,不管多忙,每周都要写一篇博客。闲话不多说,下面开始扯正题,最近有个同事问我“模块化、组件化,插件化还有热更新他们之间有什么关系和区别?“概述随着产品的业务不断的增加,我们的APP中代码就会越来越多,这时侯为了方便我们多个成员之间协同开发,所以就出现的根据业务,将我们代码分割为不同的模块(用户中心模块,首页
转载
2023-11-10 07:06:53
34阅读
| 导语 插件化技术最早从2012年诞生至今,已经走过了5个年头。从最初只支持Activity的动态加载发展到可以完全模拟app运行时的沙箱系统,各种开源项目层出不穷,在此挑选了几个代表性的框架,总结其中的技术原理。由于本人水平有限,插件化框架又相当复杂,文中若有错误或者不准确的地方望高手指点。内容概要一、发展历史插件化技术最初源于免安装运行apk的想法,这个免安装的apk可以理解为插件。支持插件
转载
2023-06-29 23:53:40
2348阅读
插件化结构的利与弊最近在做Java的插件化架构设计,插件化,或称组件化。最大的优势就是按照功能区分,系统耦合度低,一块功能的添加或删除,并不影响其他功能的使用。我设计的一个Android聊天机器人程序,代码量并不算大,但结构复杂,功能繁复。有本地聊天机器人,在线聊天机器人,网络通信,音乐播放,打电话,发短信,数据统计,语料更新等诸多功能。如果所有的功能都打包在一个工程内,简单可靠,但扩展性极为不佳
转载
2023-10-06 13:38:35
109阅读
一、前言在上一篇文章《神策 Android 全埋点插件介绍》中,我们了解到神策 Android 插件其实是自定义的 Gradle 插件。Gradle 是一个专注于灵活性和性能的开源自动化构建工具,而插件的作用在于打包模块化的、可重用的构建逻辑。可以通过插件实现特定的逻辑,并打包起来分享给别人使用。例如:神策 Android 全埋点插件正是通过插件在编译时对特定函数进行处理,从而实现控件点击和 Fr
转载
2024-08-28 19:43:00
86阅读
maven是当下最流行的项目管理工具,其丰富的插件为我们的工作带来了很大的便利。但是在一些情况下,开源的插件并不能完全满足我们的需求,我们需要自己创建插件,本文就从0开始带大家一起创建自己的插件。【命名规范】maven-xxx-plugin,为了避免于官方冲突,我们可以将自己的插件命名为xxx-maven-plugin。【创建插件项目】本项目使用idea创建。我们首先需要创建一个Mojo(Mave
转载
2023-10-25 23:09:41
50阅读
一、Android插件化介绍1.含义所谓插件化,就是让我们的应用不必再像原来一样把所有的内容都放在一个apk中,可以把一些功能和逻辑单独抽出来放在插件apk中,然后主apk做到[按需调用],这样的好处是一来可以减少主apk的体积,让应用更轻便,二来可以做到热插拔,更加动态化。2.背景3.优点二、Android插件化基础1.插件化的特点1) 应用在运行的时候通过加载一些本地不存在的可执行文件实现一些
转载
2023-10-31 23:16:17
76阅读
文章目录1. 为什么需要插件化技术2. 插件化技术的历史3. 插件化实现思路3.1 InfoQ:您在 GMTC 中的议题叫做《Android 插件化:从入门到放弃》,请问这个标题代表什么意思?3.2 InfoQ:请问您是如何学习的?对于初学者有什么建议?4. 其他 1. 为什么需要插件化技术插件化技术最初源于将app中一些不常用的功能模块做成插件,主要有两个方面的好处:减小了安装包的大小;实现a
转载
2023-09-04 14:23:20
59阅读
一、插件化概述 1、插件化和组件化的区别组件化是将一个app拆分为多个模块进行协作开发,每个模块都是一个单独的组件,这些组件可以相互依赖,也可以单独调试运行。但是最终发布的时候,这些组件会合并在一起,组成一个整体的apk,这就是组件化开发。插件化开发和组件化是有所不同的,插件化开发就是将一个app拆分成多个模块,但是每一个模块都是一个apk,最终打包的时候将宿主apk和插件apk分开打包
转载
2023-06-27 09:06:21
141阅读
从事Adroid开发几年来,逐渐对Android应用架构和发展趋势有一点点认识,总结为三个词:“组件化,模块化,插件化”。 下面以一张图为基础,分别从这个三个方面进行阐述。如有不足,还请指正。 组件化为什么需要组件化?Android的原生控件,基本上都没法直接拿来用,太丑了。另外一方面,原生控件在不同的Android版本上可能有不同风格,Holo,Material Design等。而从应用开发者角
转载
2023-07-17 22:42:59
107阅读