随笔分类 -  android 分包

Android 分包
摘要:在Android项目开发中,项目代码量过大或通过引入很多jar导致代码量急剧增加,会出现错误: 错误出现的原因是 Android设定的方法数是65536个(DEX 64K problem),超过这个方法数,导致dex无法生成,就无法生成APK. 限制原因: 早期的Dalvik VM内部使用short 阅读全文
posted @ 2019-06-06 10:48 linghu_java 阅读(2356) 评论(0) 推荐(0)
摘要:一、前言 最近腾讯弄出一个Tinker热修复框架,那么本文先不介绍这个框架,先来介绍一下阿里的一个热修复框架AndFix,这个框架出来已经很长时间了,但是看网上没有太多非常详细的讲解,这里就来做一次分析。正好项目中要使用到。首先这个框架是开源的:https://github.com/alibaba/ 阅读全文
posted @ 2018-09-18 20:05 linghu_java 阅读(299) 评论(0) 推荐(0)
摘要:转自:https://mp.weixin.qq.com/s?__biz=MzI1MTA1MzM2Nw==&mid=400118620&idx=1&sn=b4fdd5055731290eef12ad0d17f39d4a; https://www.cnblogs.com/purpleraintear/p 阅读全文
posted @ 2018-09-18 15:40 linghu_java 阅读(1010) 评论(0) 推荐(0)
摘要:一、前言 上一篇博客中,我们通过介绍dex分包原理引出了Android的热补丁技术,而现在我们将解决两个问题。 1. 怎么将修复后的Bug类打包成dex 2. 怎么将外部的dex插入到ClassLoader中 二、建立测试Demo 2.1 目录结构 2.2 源码 activity_main.xml 阅读全文
posted @ 2018-03-31 18:11 linghu_java 阅读(1427) 评论(0) 推荐(0)
摘要:前言 没想到,65536真的很小。 1 Unable to execute dex: method ID not in [0, 0xffff]: 65536 PS:本文只是纯探索一下这个65K的来源,仅此而已。 到底是65k还是64k? 都没错,同一个问题,不同的说法而已。65536按1000算的话 阅读全文
posted @ 2018-03-23 11:25 linghu_java 阅读(911) 评论(0) 推荐(0)
摘要:一、分包的原因: 当一个app的功能越来越复杂,代码量越来越多,也许有一天便会突然遇到下列现象: 1. 生成的apk在2.3以前的机器无法安装,提示INSTALL_FAILED_DEXOPT 2. 方法数量过多,编译时出错,提示: Conversion to Dalvik format failed 阅读全文
posted @ 2018-03-21 10:54 linghu_java 阅读(3817) 评论(0) 推荐(1)