Autox.js 中文文档 下载 App

Autox.js 打包出来的 APK 安装失败 解析软件包出错

用户反馈:装不上啊!

你辛苦打好了 APK 发给朋友,对方点开却提示 "解析软件包时出现问题"(Parse Error)。这几乎是 Autox.js 打包的第一名投诉。

最常见的原因:ABI 架构不匹配

问题

Autox.js v7 的公开 APK(不管是 App 本身还是你打包出来的)只有 arm64-v8a 架构。32 位 ARM 手机(armeabi-v7a)装不了。

确认方法

让用户查自己手机的 ABI:

adb shell getprop ro.product.cpu.abi

输出 arm64-v8a → 64 位,应该能装输出 armeabi-v7a → 32 位,装不了 v7

32 位设备怎么办

方案可行性说明
自己编译 armeabi-v7a 版本较难需要 Android Studio + SDK
用 AutoJs6(另一个社区分支)简单AutoJs6 支持更多架构
换 64 位手机简单2018 年后的手机基本都是 64 位

其他常见原因

原因 2:存储权限问题

打包过程中 Autox.js 需要写存储。如果打包脚本没有存储权限,APK 可能生成不完整——下载到电脑后安装就会 parse error。

排查:让 Autox.js 重新申请存储权限后再打包一次。

原因 3:APK 文件损坏

下载/传输过程中文件损坏:

排查:对比文件大小和 MD5,确保下载完整。

原因 4:签名不匹配

如果是覆盖安装(之前装过同包名的旧版 APK),新旧 APK 的签名不一致就会安装失败。

解决:先卸载旧版,再安装新版。

原因 5:系统版本过低

打包的 APK 有 minSdkVersion 要求。v7 建议至少 Android 7.0(API 24)。

排查:让用户查 Android 版本。低于 7.0 的设备装不上。

原因 6:打包配置错误

App 内打包时选错了参数:

错误配置后果
ABI 选错(选了 x86/x86_64)模拟器能用,真机装不上
包名不合法部分机型能装、部分不能
图标资源路径错某些机型安装时崩溃
入口文件路径错能装但打开就闪退

进阶:用 webpack 打包的 APK

如果你用的是 VSCode + webpack + autojs-webpack-plugin:

webpack 配置检查

// webpack.config.js
new AutoxWebpackPlugin({
    apk: {
        // 确认这些配置正确
        packageName: "com.your.appname",  // 全小写,点号分隔
        minSdkVersion: 24,                  // Android 7.0
        targetSdkVersion: 33,
        abiFilters: ["arm64-v8a"],         // 目前只能 arm64
        versionCode: 1,
        versionName: "1.0.0"
    }
})

签名检查

debug 签名的 APK 覆盖安装 debug 签名的没问题。但如果你换了电脑、换了 keystore 文件,签名就变了——用户需要先卸载旧版。

APK 体积过大

打包后 APK 超过 100MB 可能导致某些应用市场拒收。用混淆 + ProGuard 缩小体积。

用户端排查清单

发给用户的排查指南可以这么写:

装不上?试试这几步:
1. 确认手机是 64 位(2018 年后的手机基本都是)
2. 先卸载手机上可能存在的旧版,再装
3. 确保文件下载完整(MD5 核对)
4. 允许"未知来源安装"
5. 还是不行 → 发你手机型号 + Android 版本给我

总结

原因出现概率解决
ABI 不匹配(32 位装 64 位 APK)极高换 64 位设备或自己编译
签名不匹配中卸载旧版再装
文件损坏中重新下载,核对 MD5
minSdkVersion 过高低降低 minSdkVersion
打包配置错误低webpack / App 内打包配置核查