笔者从 2016 年初就因为公司业务需求转战 android sdk 开发, 应用插件化技术将公司 android sdk 重新翻版.先来说说需求. 由于笔者所在一家创业公司, android sdk 实际运营时间并不长, 处于业务成长阶段, 经常会面对各种需求更改以及运营通道稳定性等个方面的问题.由于种种的不稳定性, 会导致 sdk 可能会经常出现小规模修改的问题, 用户对这种行为当然是非常不满意的了.可以想象,每一次 sdk 更新商务部门的同学要扛着多少用户口水去和用户商谈,而技术部门又要承…
https://blog.csdn.net/io_field/article/details/79084630 可以通过反射 事先定义统一接口的方式,访问插件中的类和方法 还可以在AndroidManifest.xml中动态注册组件Activity.Service.BroadcastReceiver.ContentProvider(DroidPlugin实现) https://www.jianshu.com/p/e61a4d10e122 插件化的原理无非就是这些: 通过DexClassLoade…
<Android插件化技术——原理篇>     转载:https://mp.weixin.qq.com/s/Uwr6Rimc7Gpnq4wMFZSAag?utm_source=androidweekly&utm_medium=website | 导语 插件化技术最早从2012年诞生至今,已经走过了5个年头.从最初只支持Activity的动态加载发展到可以完全模拟app运行时的沙箱系统,各种开源项目层出不穷,在此挑选了几个代表性的框架,总结其中的技术原理.由于本人水平有限,插件化框架又相…
深入理解Android插件化技术  转 https://zhuanlan.zhihu.com/p/33017826 插件化技术可以说是Android高级工程师所必须具备的技能之一,从2012年插件化概念的提出(Android版本),到2016年插件化的百花争艳,可以说,插件化技术引领着Android技术的进步. 作者:code_xzh 原文:http://click.aliyun.com/m/40296/ 插件化提要 可以说,插件化技术涉及得非常广泛,其中最核心的就是Android的类加载机制和…
No1: 插件化技术的好处: 1)减轻应用的内存和CPU占用 2)实现热插拔,即在不发布新版本的情况下更新某些模块 No2: 插件化方案必须要解决三个基础性问题:资源访问.Activity生命周期的管理和ClassLoader的管理 No3: 宿主是指普通的apk,插件一般指经过处理的dex或者apk.插件化框架大多采用apk作为插件,很多需要用到代理Activity,插件Activity的启动大多数是借助一个代理Activity来实现的. No4: Activity的工作主要是通过Contex…
在Android 插件化技术中(宿主app和插件app设置相同的sharedUserId),动态加载apk有两种方式: 一种是将资源主题包的apk安装到手机上再读取apk内的资源,这种方式的原理是将宿主app和插件app设置相同的sharedUserId,这样两个app将会在同一个进程中运行,并可以相互访问内部资源了. 一种是不用安装资源apk的方式.其原理是通过DexClassLoader类加载器去加载指定路径下的apk.dex或者jar文件,反射出R类中相应的内部类然后根据资源名来获取我们需…
眼下做前端开发的同学可能都熟悉grunt.fis之类的自己主动化构建工具.事实上在HybridApp开发中我们也能够使用这些工具来简化我们的工作.gulp就是一个比grunt,fis都先进的构建工具.用好gulp能够简化我们的工作流程.提升产品质量.本文会具体的说明我们移动App项目gulp的使用经验.部分关于gulp的介绍来自国外站点. gulp是 Fractal公司公布的一个新的基于nodejs的构建系统,目标是代替Grunt,成为最流行的JavaScript任务执行器. 眼下ionic框架…
由于特别原因,我们更新安卓sdk时不会成功.解决办法: 修改C:\Windows\System32\drivers\etc\hosts文件.添加一行:74.125.237.1       dl-ssl.google.com ok?goodlucky!…
一 key问题 1 在百度地图api控制台申请key的流程主要用到了app包,开发工具的开发sha1和发布sha1值,这2个值的获取就非常关键了. 一般来说我们都是在windows上开发安卓,使用androidstudio做集成环境.首先我们需要通过keytool工具在命令行中查看我们的sha1 进入cmd控制台输入keytool,发现不是一个有效命令,配置一下环境变量,环境变量添加我们安装的jdk路径bin目录的路径即可,比如我的是 2 再次进入cmd控制台 进入系统目录下的.android目…
 1.body,或者html 高度为100% 会导致下拉直接触发原生的刷新控件,而不是webView滑动到顶部后刷新,以及不会执行onScrollChanged 方法,并且getScrollY 总是返回0 ,getContentHeight * getScale 的值总是与webView高度一致 上述是 document.documentElement.style.overflow 不做任何设置的情况下 如果页面必须使用100% 则解决此问题的解决方式 H5端解决方案 如果设置 document…