Android -- 一种动态为apk写入信息的方案

一种动态为apk写入信息的方案 原文 http://pingguohe.net/2016/03/21/Dynimac-write-infomation-into-apk.html我们在日常使用应用可能会遇到以下场景。 场景1: 用户浏览h5页面时看到一个页面,下载安装app后启动会来到首页而不是用户之前浏览的页面,造成使用场景的割裂。场景2: 用户通过二维码把一个页面分享出去,没有装猫客的用户
摘要由CSDN通过智能技术生成

一种动态为apk写入信息的方案

原文 http://pingguohe.net/2016/03/21/Dynimac-write-infomation-into-apk.html

我们在日常使用应用可能会遇到以下场景。 场景1: 用户浏览h5页面时看到一个页面,下载安装app后启动会来到首页而不是用户之前浏览的页面,造成使用场景的割裂。

场景2: 用户通过二维码把一个页面分享出去,没有装猫客的用户如果直接安装启动之后无法回到分享的页面。

如果用户在当前页面下载了应用,安装之后直接跳转到刚才浏览的界面,不仅可以将这一部分流量引回客户端,还可以让用户获得完整的用户体验。下面提出一种方案来满足这个业务需求。

原理

android使用的apk包的压缩方式是 zip ,与zip有相同的文件结构,在zip的Central directory file header中包含一个File comment区域,可以存放一些数据。File comment是zip文件如果可以正确的修改这个部分,就可以在不破坏压缩包、不用重新打包的的前提下快速的给apk文件写入自己想要的数据。

comment是在Central directory file header末尾储存的,可以将数据直接写在这里,下 表 是header末尾的结构。
由于数据是不确定的,我们无法知道comment的长度,从表中可以看到zip定义comment的长度的位置在comment之前,所以无法从zip中直接获取comment的长度。这里我们需要自定义comment的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值