什么是APK文件
APK(全称:Android application package,Android应用程序包)是Android操作系统使用的一种应用程序包文件格式,用于分发和安装移动应用及中间件。一个Android应用程序的代码想要在Android设备上运行,必须先进行编译,然后被打包成为一个被Android系统所能识别的文件才可以被运行,而这种能被Android系统识别并运行的文件格式便是“APK”。 一个APK文件内包含被编译的代码文件(.dex 文件),文件资源(resources), 原生资源文件(assets),证书(certificates),和清单文件(manifest file)
什么是XAPK
1. xapk种类
有时候我们会遇到.xapk后缀的Android安装包,而且一般移动设备还不能直接安装,需要专门的xapk安装器来安装。
那什么是xapk文件呢?
xapk有两种形式:
1) XAPK file = APK file + OBB data file
2) XAPK file = Base APK file + Split APKs file, The base and split configuration APKs contained in this APK bundle
2. xapk with obb
第一种包含apk和obb数据包,apk好理解,就是我们平时打包出来的apk, 而obb包是什么呢?
OBB全称:Android Opaque Binary Blob File 格式,可以理解为它是一种数据包格式。
其产生的背景是Google Play要求上传的apk必须在100M以下(比如游戏应用肯定不止100M),大于100M的话必须将apk拆分为apk(小于100M)和obb两部分,而且Google还要求每个obb文件不能超过2G,最大支持2个obb文件,也就是说Google Play上的应用最大不能超过4.1G。
将两种类型的文件一起上传至Google Play。用户在下载应用时会将两者同时一起下载下来。但有个问题是扩展文件Google并不保证一定会下载下来,而且有可能下载下来的扩展文件被误删除,所以我们自身的App还需要有个完整性验证机制。
如果没有分包工具的话,那么分包机制需要我们自己去实现。简单来说,我们一般都是将资源文件保存在assets文件夹中,那么我们可以将assets中的资源文件打包成扩展文件,其它部分就作为apk,这里Google也提供了一种打包方法供大家参考:
https://developer.android.com/studio/command-line/jobb.html
如果将obb和apk不分开,而是打包在一起,这样就形成了我们所说的xapk文件,好处就是直接下载下来就可以用了,而且不受限于Google Play平台的要求。
3. xapk with Split Apks
这种类型的xapk可以理解为多个apk的组合,把.xapk后缀改为.zip,然后解压,就可以看到里面的内容了。
比如:
如何在Google Play上下载apk呢?
1.如果是谷歌浏览器,你可以安装APK下载器
打开chrome网上应用店,你可以直接搜索也可以按下面步骤进入
第一步,首先进入chrome浏览器的扩展程序
第二步,点击左上角的扩展程序,会出现如下界面:
第三步,点击“打开Chrome网上应用店”,咱们就来到了“Chrome网上应用点”;直接搜索“apk下载器”,点击下载安装即可
第四步,在浏览器中打开你想下载的apk链接,点击“apk下载器”扩展程序
第五步,点击“下载APK”后会跳转到下载页面,此时你可以下载apk了
但是APK下载器有个问题是只能下载apk包,不能下载xapk包。
2.分享几个可以下载Google Play应用的链接
https://apkpremier.com/
https://apkdl.in/
https://sameapk.com/
https://www.apkturbo.com/
https://apkcombo.com/zh-cn/
https://apkpure.com/cn/
3.如果想在手机上安装xapk,请参考我另一篇文章手动安装xapk
APK、XAPK解压
把带有.apk、.xapk扩展名的文件改为.zip或者.rar扩展名,随后解压,你会发现如下结构:
1.apk解压后结构
2.xapk with obb
3.xapk with Split Apks
解压xapk后,需要找到我们想要的apk或者是obb文件(这里会包含包体的大部分资源),扩展名依然是改成zip或者rar后解压,知道解压成和apk解压之后的目录结构(目录结构也不尽相同),主要是找到assets文件夹,所需资源就在这个文件夹下面。
AssetStudio工具
使用
1.直接在 releases 下载
2.下载自己电脑需要的版本( x86 是 32 位版),git下载速度较慢,建议代理。
3.直接运行界面
4.加载我们的整个游戏文件夹,或者说你很确定资源在哪个目录下面,比如assets
5.在 Asset List 里就有我们需要的资源
6.选中后右键导出即可