Uni安卓打包常见问题?三步解决编译失败错误

今天捣鼓了一整天Uni安卓打包,本来寻思半小时搞定,结果栽进坑里差点爬不出来。你们也知道的,我这人就爱折腾实战项目,昨晚刚给小程序加了新功能,今天准备打个安卓包测试,结果控制台直接飙红字。

一、上来就给我当头一棒

刚点HBuilderX右上角那个打包按钮,选择安卓渠道包,勾完"使用自定义基座"准备美滋滋等安装包生成。结果编译进度条刚跑到70%,突然咔嚓弹个红色报错窗口:"Dex archive merge failed",后头还跟着一串乱码似的路径。我当场就懵了——明明上周打包还好好的!

  • 先试了清理项目缓存,重启HBuilderX
  • 又把Android Studio的Gradle同步了三次
  • 连电脑都重启了,结果报错纹丝不动

看着控制台里密密麻麻的报错日志,突然注意到关键线索:"Multiple dex files define Lcom/google/android/gms/..."。这不明摆着重复引用吗!赶紧打开项目的*文件,果然发现在"App模块配置"里,谷歌地图和推送插件被重复勾选了两次——上周手抖多点了一次保存自己都没发现。

小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区

二、插件打架引发惨案

把多余的那组√取消掉,搓搓手重新点打包。进度条这回倒是跑到95%了,结果又弹出新错误:"Failed to install the following Android SDK packages as some licences have not been accepted"。好家伙,还带连环套的!

翻出三年前买的Windows开发机(对,就是那台键盘膜都发黄的老伙计),打开Android SDK Manager。果然在Tools目录下发现Android SDK Build-Tools 31.0.0旁边挂着灰色感叹号。之前自动更新SDK时没仔细看协议,直接关了安装窗口。

解决方法特简单(但真坑):

  • 打开CMD黑窗口
  • 切到SDK的tools/bin目录
  • 敲进去:sdkmanager --licenses
  • 对着刷屏的协议狂按Y键直到手酸

三、压死骆驼的一根稻草

以为终于能成了?打包进度100%完成,手机也弹出安装提示了。结果安装到88%卡住,五分钟后提示"解析安装包错误"。当时气得差点把咖啡泼到键盘上!

翻手机设置才发现,之前测试用的老安装包没卸载干净。因为新包和旧包用了同一个签名证书,版本号却没升级。直接在*里把版本号从1.0.2改成1.0.3,重新生成证书——这回安装条嗖一下跑到底,启动页亮起的瞬间差点老泪纵横。

总结这三个坑:插件别手抖多选,SDK协议要点头,版本号记得往上加。说出来都是芝麻大的问题,但实际遇到能折腾死人。建议大伙儿打包前先喝杯冰水压压惊,别像我似的把键盘摁出坑来。有啥栽坑经历评论区唠唠,一起避雷!