从开发到上架:Eros 双端打包、签名与发布全流程指南
【免费下载链接】eros📱 一套 Vue 代码,两端原生应用 ,或许可以叫我 weex-native。项目地址: https://gitcode.com/gh_mirrors/er/eros
Eros是一套「一份 Vue 代码,打包 iOS/Android 双端原生应用」的开源解决方案(weex-native)。本文带你走通从本地开发到应用市场上架的完整流程:Android 打包签名、iOS 打包签名、双端发布与热更新,新手也能照着一步步完成。
一、Eros 双端打包流程总览 🗺️
在开始动手前,先建立整体认知。Eros 项目的双端打包可以归纳为3 步:
| 步骤 | 说明 | 涉及目录 |
|---|---|---|
| 1️⃣ 安装/更新原生依赖 | 拉取 Weex 框架与插件 SDK,刷新 CocoaPods/Gradle 依赖 | scripts/ |
| 2️⃣ 本地打包 | Android 用 Gradle 出 APK,iOS 用 Xcode 出 IPA | platforms/ |
| 3️⃣ 签名与上架 | 配置双端签名,提交应用市场审核 | 各平台工程配置 |
💡 上图就是 Eros 编译后 iOS 端 App 的启动画面——所有页面都来自
src/下那一份 Vue 代码,两端运行同一套逻辑。
二、Android 打包与签名 🔧
2.1 一键安装与更新 Android 依赖
Android 端工程位于 platforms/android/WeexFrameworkWrapper/。首次打开前,先运行 scripts/install.android.sh,它会自动拉取wxframework、sdk、nexus、ErosPluginAmap四个子仓库;后续升级框架时运行 scripts/update.android.sh 增量更新即可。工程内还内置了 install.sh,用于git submodule update --init --recursive并统一切换到 master 分支。
2.2 配置版本号与签名
发布前有两个关键点:
- 版本号:在 config/eros.native.js 中修改
version.android,并同步 Android 工程的versionCode,避免市场提示"版本过低"。 - 签名文件:工程自带示例签名 eros_demo.jks,上架前务必替换成你自己的 keystore,并在 Gradle 的
signingConfigs中填入 alias 与密码——签名一旦更换,市场会认为是"新应用",无法覆盖旧版本。
包名、权限等均在 AndroidManifest.xml 中维护,提交审核前建议关闭 Debug 调试开关。
2.3 生成 Release 版 APK
用 Android Studio 打开工程后,选择 Release 构建变体执行Build → Build APK(s)。构建产物信息会记录在 output.json,可以看到示例包为app-samplechannel-release.apk,最低支持minSdkVersion 14(Android 4.1+)。
前端业务代码则先由脚手架编译为 JS bundle,打进assets目录(见 bundle.zip),再随 APK 一起发布——这就是"一份代码、两端原生"的实现方式。
三、iOS 打包与签名 🍎
3.1 一键安装与更新 iOS 依赖
iOS 工程位于 platforms/ios/WeexEros/。运行 scripts/install.ios.sh 会自动拉取WeexiOSSDK、Benmu-iOS-Library两个依赖库,执行pod update并打开WeexEros.xcworkspace;日常升级运行 scripts/update.ios.sh 即可。
依赖清单集中在 Podfile 中:WeexSDK是核心运行库,WXDevtool只在 Debug 配置下集成,Release 包会自动剔除调试组件,减小体积、也便于过审。
3.2 Xcode 签名配置
用 Xcode 打开WeexEros.xcworkspace(注意是 workspace 不是 project 文件 project.pbxproj),在Signing & Capabilities面板完成:
- 选择你的 Team(开发者账号);
- Bundle Identifier 改成自己未占用的 ID;
- 开启 Automatic Signing 或手动指定证书与 Provisioning Profile;
- 在 Info.plist 中核对版本号(与 config/eros.native.js 的
version.iOS保持一致)。
⚠️新手最常踩的坑:真机首次安装测试包时,需要到设置 → 通用 → 设备管理中信任开发证书,否则 App 无法打开。上架 App Store 的正式包则无此问题。
3.3 Archive 生成 IPA
选择真机 Target 后,执行Product → Archive,再在 Organizer 中选择Distribute App → App Store,Xcode 会自动完成公证签名并导出可上传的包。
四、双端发布与上架要点 🚀
4.1 应用市场提交清单
| 项目 | Android | iOS |
|---|---|---|
| 产物 | 签名后的 Release APK | App Store Connect 上传的 IPA |
| 签名 | 自己的 keystore(勿用 demo 证书) | App Store 分发证书 + Profile |
| 版本 | 递增 versionCode | 递增 CFBundleVersion |
| 审核注意 | 关调试、清日志 | 关 Debug 组件、隐私权限说明齐全 |
4.2 热更新:免审核的快速迭代 ✨
Eros 的一大杀手锏是热更新机制:客户端内置更新逻辑,从远端拉取新 JS bundle 并即时生效,无需重新走应用市场审核。相关地址在 config/eros.native.js 的url.bundleUpdate中配置,配合开源的热更新后台 eros-publish 可实现"发版当天生效"。
实际策略推荐:大版本走市场审核,小迭代走热更新,既合规又敏捷。
五、常见问题速查 ❓
- 打包后页面白屏?检查 JS bundle 是否已编译并放入
assets,以及bundleUpdate地址是否可访问。 - iOS 真机装不上?到"设备管理"中信任开发证书,或改用免费/付费证书的正式 Profile。
- Android 上架被拒?多为权限描述不完整或含调试入口,发布前关闭调试模块并补充权限说明。
- 两端版本号不一致?双端版本号统一维护在 config/eros.native.js,修改后记得同步到 Android 与 iOS 工程配置。
写在最后:Eros 让前端开发者用一份 Vue 代码完成双端原生应用——依赖一键装、版本一处配、签名按平台走、发布双通道(市场 + 热更新)。按照本文 5 个部分依次执行,从git clone https://gitcode.com/gh_mirrors/er/eros开始,到你的 App 出现在应用市场,并没有想象中那么难。🎉
【免费下载链接】eros📱 一套 Vue 代码,两端原生应用 ,或许可以叫我 weex-native。项目地址: https://gitcode.com/gh_mirrors/er/eros
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考