一种Android的多平台的安装包打包方法探究
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了一种Android的多平台的安装包打包方法探究,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1059字,纯文字阅读大概需要2分钟。
内容图文
继 Google I/O 宣布新系统 Android L 带来 64 位支持后,Android NDK 日前正式推出 Revision 10 更新,添加 ARM、x86 和 MISP 架构芯片的 64 位 ABI 支持。
因而,全部ABI个数至少达到了8个.如果每个平台的链接库大小达到10M,加起来就达到了80兆,如果直接安装进手机,则会浪费手机的宝贵的存储空间.当然,在云时代,又有了一种方案,安装后在从云端下载,问题又来了,云端下载下来需要流量或宽带,同时还要对云端进行维护,问题也不小.还有一种方案是,各平台独立打包,独立打包可以减少安装包的体积,但是又会引发一个问题,发布的时候显得混乱,管理上麻烦不断.
有没有更好的办法?答案是有的,众所周知,apk就是一个zip文件,zip文件可以包含一切文件.就利用这点来解决.
在apk中,lib存成的各平台的动态链接库,每个平台需且仅需一种.因此,lib中存成各平台的链接库.我们仅需要多制作几份签名就可以了,这样去签名,有多少种类型的链接库就制作多少份签名,签名时忽略其他平台的链接库,然后生成META-INF文件(.MF,.SF,.RAS).用链接库所属的目录名命名其目录,如armeabi.再将该目录放在assets目录下的META-INFS目录里.这样和以往的APK相比,就多了这个目录.
assets目录
|--META-INFS
| |-- armeabi
| |--armeabi-v7a
| |--x86
.......
-----------------------------------------------
armeabi目录
| |--MANIFEST.MF
| |--CERT.SF
| |--CERT.RSA
--------------------------
最后再使用签名工具,对该安装包签名.
这样,发布到渠道后,渠道可以将这个多平台的安装包拆解,当用户下载APK的某个平台时,后台可以直接将该平台的提取出来,抛弃不必要的,然后打包给用户下载.当然这需要渠道,应用分发平台的支持才行.
如果用户把全平台的都下载下来,也可以直接安装全平台的安装包,如果安装器能识别出可以部分安装的话,可以将该平台的提取出来,打包后安装即可.
当然,里面还有一个zip对齐问题,其实这个问题很容易解决的.
原文:http://my.oschina.net/u/256033/blog/308234
内容总结
以上是互联网集市为您收集整理的一种Android的多平台的安装包打包方法探究全部内容,希望文章能够帮你解决一种Android的多平台的安装包打包方法探究所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。