摘要:
介绍了基于Android应用反向工程工具的重打包技术,并结合应用商店的实际需求,提出了建立Android应用重打包系统的方案,重打包系统需要完成的功能包括提取应用实体包和信息,拆解应用包,添加素材和代码,打包生产新应用,检查新应用的完整性,完成新应用分发.重打包系统在方案设计和实施时还应当注意一些问题.首先要配备高性能重打包服务器.Android应用反编译,重打包,签名等一系列操作都十分消耗计算和内存资源,因此必须配置高性能的JJ片服务器,而且为满足多个应用并发重打包,还需要提供多个服务器组成集群,由前端负载分发服务器均匀分配重打包任务给集群中的服务器.其次,同一个应用只能有一个重打包拷贝.因为作为一个大型的应用商城往往有大量分布在各地的下载服务器,这些服务器提供高性能高并发的下载服务,而智能手机多支持断点续传和多线程下载功能,这就意味着手机可能同时从两个下载服务器上下载同一应用的不同文件片段,如果两个服务器上的重打包拷贝有差别,就会导致最终下载的应用安装或运行异常.最后,应用商店要申请一个合法的签名证书.这样对每一个重打包的应用采用统一的证书签名,保证了应用安装的合法性,而且对于下次同一个应用版本升级提供了便利,不会出现安装失败或删除应用数据文件的问题,使得用户的体验更好.
展开