第一次接触uni-app安卓打包的开发者,往往会卡在环境配置这一步。我见过太多人因为漏装某个依赖项,导致后续步骤频频报错。这里分享我总结的"三件套"配置方案,帮你避开90%的坑。
必备工具清单:
配置环境变量时,重点关注这两个路径:
bash复制ANDROID_HOME = C:\Users\你的用户名\AppData\Local\Android\Sdk
PATH追加 %ANDROID_HOME%\platform-tools
注意:Windows系统下如果遇到adb命令不可用,可能需要重启终端。我习惯用VS Code的终端操作,比系统cmd更稳定
第一次运行adb devices时,手机会弹出RSA密钥确认框。遇到过授权不成功的情况?试试先adb kill-server再重新连接。这些细节问题往往最耗时,提前处理好能提升后续效率。
这个看似简单的配置文件,藏着不少影响上架的关键参数。最近帮一个团队排查安装包解析失败的问题,最后发现是targetSdkVersion设置过低导致的。
必改的核心参数:
json复制{
"appid": "你的应用标识",
"versionName": "1.0.0",
"versionCode": 100,
"targetSdkVersion": 33, // 低于30可能被应用商店拒绝
"permission": {
"android.permission.INTERNET": {
"request": "once",
"prompt": "需要网络权限以加载数据"
}
}
}
图标配置的坑:
nativeResources/android/ic_launcher目录unpackage目录重新打包试试分享一个实用技巧:用<meta-data>配置渠道信息:
json复制"android": {
"metaData": {
"CHANNEL": "official" // 后续可用plus.runtime.getProperty获取
}
}
连接真机时最常遇到三个问题:设备未识别、安装失败、热更新不生效。经过数十次实测,我总结出这个可靠流程:
基础连接:
bash复制adb devices # 确认设备列表
adb -s 设备ID shell pm list packages # 验证通信
自定义基座制作:
.debug后缀热更新技巧:
[HMR]日志即表示热更生效adb shell am force-stop 包名彻底重启应用遇到过安装包签名冲突?这是因为调试版和正式版签名不同。解决方法:
bash复制adb uninstall 包名 # 先卸载旧版
从调试版到正式版,这几个参数会直接影响应用性能:
build.gradle关键配置:
groovy复制android {
buildTypes {
release {
minifyEnabled true // 开启代码混淆
shrinkResources true // 移除无用资源
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
打包格式选择:
"mp-weixin"节点分享一个体积优化案例:通过配置resConfigs移除无用语言包,使APK大小从28MB降到19MB:
groovy复制defaultConfig {
resConfigs "zh", "en" // 只保留中英文资源
}
临时下载链接5次限制确实麻烦,我对比过三种主流方案:
分发渠道对比表:
| 方案 | 成本 | 稳定性 | 适用场景 |
|---|---|---|---|
| uniCloud | 免费额度+按量付费 | 高 | 中小型应用 |
| 对象存储OSS | 按流量计费 | 极高 | 需要CDN加速 |
| 自建服务器 | 固定服务器成本 | 中 | 企业级应用 |
uniCloud部署步骤:
/download目录获取永久链接的技巧:
javascript复制// 在前端获取下载地址
uniCloud.getTempFileURL({
fileList: ['cloud://your-bucket/app-release.apk']
}).then(res => console.log(res.fileList[0].tempFileURL))
最后分享我的自检清单,每次提交应用市场前都会核对:
基础信息:
权限声明:
隐私合规:
性能指标:
遇到审核被拒?先检查targetSdkVersion是否达标,再确认是否缺少64位架构支持。最近帮一个开发者解决了v2签名问题,发现是打包时没勾选"v2签名"选项。这些细节往往决定上架成败。