前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一个关于安卓打包提速的小改进

一个关于安卓打包提速的小改进

作者头像
技术小黑屋
发布2018-09-05 09:55:58
3870
发布2018-09-05 09:55:58
举报

作为App开发者,打包和发包是经常要进行的工作。鉴于国内的特殊情况,造就了不可胜举的应用市场。为了便于跟踪统计必要的数据信息,我们通常会针对每个市场都进行打包。这些包总的来说几乎是一致的,可能唯一的的差别就是渠道号信息不一样。

Flipboard中国版本目前覆盖了大概10几个渠道,目前唯一不同的就是渠道号信息。

最早的实现方式为

1

buildConfigField "String", "CHANNEL_ID", null == versionProps['CHANNEL_ID'] ? /""/ : '"' + versionProps['CHANNEL_ID'] + '"'

上述实现的缺点有

  • 无法在manifest中配置包含渠道号信息的meta数据
  • 会导致每次重新编译代码,以及后续的多次Proguard优化,相对很耗时。打包时间将近4分钟

后来改进的方式为

1

resValue "string", "channel_id", null == versionProps['CHANNEL_ID'] ? /""/ : '"' + versionProps['CHANNEL_ID'] + '"'

新的实现解决了上面的两个问题

  • 可以在manifest中实现配置渠道号信息
  • 无需重新编译源码,也无需后续的proguard的代码优化。只更新resource资源即可。打包时间缩短到14秒左右。

经过如此一个小改动,从此我们不再需要漫长的等待和浪费机器性能。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档