xpak文件实际是一个压缩包,用解压软件可查看其内容。
情况1(obb):
多见于游戏,apk主包文件很小,用户能安装并启动,要解锁游戏全部内容,则需要下载obb文件,
obb文件一般位于 sd卡的根目录下,路径大概是
/sdcard/Android/obb/com.xx/xx.obb
碰到这种情况,我们可以先安装apk,然后将obb文件拷到手机对应目录下。
情况2(apks):
manifest.json(有删减和修改)
{
"xapk_version": 2,
"package_name": "com.xx.android",
"name": "xx",
"version_code": "28640000",
"version_name": "8.64.0-release.00",
"min_sdk_version": "21",
"target_sdk_version": "29",
"permissions": ["com.xx.android.permission.RESTRICTED",
"android.permission.MODIFY_AUDIO_SETTINGS",
"android.permission.INTERNET", "android.permission.VIBRATE",
"……"],
"split_configs": ["config.zh",
"config.armeabi_v7a",
"……"],
"total_size": 30348649,
"icon": "icon.png",
"split_apks": [{
"file": "com.xx.android.apk",
"id": "base"
}, {
"file": "config.zh.apk",
"id": "config.zh"
}, {
"file": "config.armeabi_v7a.apk",
"id": "config.armeabi_v7a"
},
{"……"}]
}
这第一反应就是,把里面的apk都装一遍。但除了主包外,其它的apk都安装不上,主包安装成功后手机桌面会有图标,但是点了大概率会闪退。其实可以使用adb命令来安装。
adb install-multiple -r -t base.apk config.armeabi_v7a.apk config.es.apk
# base.apk 是主包,得放在最前面
# adb install-multiple -r -t com..android.apk config.armeabi_v7a.apk config.es.apk
另外还可以通过命令查看某个应用的分包情况。
# adb shell pm path [包名]
hf-home:~hf$ adb shell pm path com.xx.android
package:/data/app/com.xx.android-1/base.apk
package:/data/app/com.xx.android-1/split_config.armeabi_v7a.apk
package:/data/app/com.xx.android-1/split_config.zh.apk
本文是技术探讨,其实xapk可以借助app在手机上进行安装,另外MuMu模拟器等可以直接安装xapk;
链接:https://pan.baidu.com/s/130udj-G-diSxP7wgpvvUww
提取码:csdn
下载链接里有两个apk,都来自apkpure,推荐安装 XAPK Installer Rush Wars Installer.apk 功能简单操作更方便。
安装后启动app,他会列出手机里的xapk文件,点击安装即可。