APK 点击ICON 启动闪退,无反应

现象

项目中通过Jenkins 自动化出包,24号生产的apk一切正常,26号新出的apk点击Icon 后无反应,查看log,MainActivity 直接crash了。

定位

分析log 发现apk在启动报错


日志.png

解压缩、文件相关。
(当时分析日志的时候,更多的是从应用自身逻辑错误上去定位,忽略了这个日志,导致浪费了很多时间)

猜测

1.出包环境
2.代码提交
这两个通过查看版本日志和回滚操作,依旧无法启动。
3.apk本身。
之前包体大小是1.9G,新包体大小2.1G,对比发现是新增了一些美术资源。而2206412800 这个字节数看起来和int 上限非常的像,猜测是包体太大。

测试

直接删除一些资源,进行出包 -> apk正常

结论

APK包体不能超过2G的限制,这个是安卓平台的限制。其实是Linux的限制。

总结

定位问题时对 log 中的关键信息不够敏感,没有第一时间反应到包体大小上。
后续需要针对多资源制定策略。如分包,动态下载等。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • feisky云计算、虚拟化与Linux技术笔记posts - 1014, comments - 298, trac...
    不排版阅读 9,326评论 0 5
  • 寻找一种易于理解的一致性算法(扩展版) 摘要 Raft 是一种为了管理复制日志的一致性算法。它提供了和 Paxos...
    yflau阅读 4,620评论 0 1
  • 前提是Python也安装配置完成 1、下载pip:pip下载地址 下载完成后解压,随便放在哪个目录下,然后在cmd...
    freedomzll阅读 3,483评论 0 0
  • 平时看文章,遇见自己喜欢的句子,我就会复制粘贴在记事本上,闲暇时翻看翻看,获益匪浅。今天我写下来,与大家分享一下,...
    圆梦perfect阅读 2,481评论 2 6
  • 巍峨的华山 是迄今为止登过最高的山 脚步越过万台阶 身影留过百间壁 看着郁郁葱葱的大山 不攀登永远不知道有条山路 ...
    己水阅读 1,014评论 1 6