發(fā)到上架:Eros 雙端打包、簽名與發(fā)布全流程指南)
從開(kāi)發(fā)到上架Eros 雙端打包、簽名與發(fā)布全流程指南【免費(fèi)下載鏈接】eros 一套 Vue 代碼兩端原生應(yīng)用 或許可以叫我 weex-native。項(xiàng)目地址: https://gitcode.com/gh_mirrors/er/erosEros是一套「一份 Vue 代碼打包 iOS/Android 雙端原生應(yīng)用」的開(kāi)源解決方案weex-native。本文帶你走通從本地開(kāi)發(fā)到應(yīng)用市場(chǎng)上架的完整流程Android 打包簽名、iOS 打包簽名、雙端發(fā)布與熱更新新手也能照著一步步完成。一、Eros 雙端打包流程總覽 ?在開(kāi)始動(dòng)手前先建立整體認(rèn)知。Eros 項(xiàng)目的雙端打包可以歸納為3 步步驟說(shuō)明涉及目錄1?? 安裝/更新原生依賴?yán)?Weex 框架與插件 SDK刷新 CocoaPods/Gradle 依賴scripts/2?? 本地打包Android 用 Gradle 出 APKiOS 用 Xcode 出 IPAplatforms/3?? 簽名與上架配置雙端簽名提交應(yīng)用市場(chǎng)審核各平臺(tái)工程配置 上圖就是 Eros 編譯后 iOS 端 App 的啟動(dòng)畫(huà)面——所有頁(yè)面都來(lái)自src/下那一份 Vue 代碼兩端運(yùn)行同一套邏輯。二、Android 打包與簽名 2.1 一鍵安裝與更新 Android 依賴Android 端工程位于 platforms/android/WeexFrameworkWrapper/。首次打開(kāi)前先運(yùn)行 scripts/install.android.sh它會(huì)自動(dòng)拉取wxframework、sdk、nexus、ErosPluginAmap四個(gè)子倉(cāng)庫(kù)后續(xù)升級(jí)框架時(shí)運(yùn)行 scripts/update.android.sh 增量更新即可。工程內(nèi)還內(nèi)置了 install.sh用于git submodule update --init --recursive并統(tǒng)一切換到 master 分支。2.2 配置版本號(hào)與簽名發(fā)布前有兩個(gè)關(guān)鍵點(diǎn)版本號(hào)在 config/eros.native.js 中修改version.android并同步 Android 工程的versionCode避免市場(chǎng)提示版本過(guò)低。簽名文件工程自帶示例簽名 eros_demo.jks上架前務(wù)必替換成你自己的 keystore并在 Gradle 的signingConfigs中填入 alias 與密碼——簽名一旦更換市場(chǎng)會(huì)認(rèn)為是新應(yīng)用無(wú)法覆蓋舊版本。包名、權(quán)限等均在 AndroidManifest.xml 中維護(hù)提交審核前建議關(guān)閉 Debug 調(diào)試開(kāi)關(guān)。2.3 生成 Release 版 APK用 Android Studio 打開(kāi)工程后選擇 Release 構(gòu)建變體執(zhí)行Build → Build APK(s)。構(gòu)建產(chǎn)物信息會(huì)記錄在 output.json可以看到示例包為app-samplechannel-release.apk最低支持minSdkVersion 14Android 4.1。前端業(yè)務(wù)代碼則先由腳手架編譯為 JS bundle打進(jìn)assets目錄見(jiàn) bundle.zip再隨 APK 一起發(fā)布——這就是一份代碼、兩端原生的實(shí)現(xiàn)方式。三、iOS 打包與簽名 3.1 一鍵安裝與更新 iOS 依賴iOS 工程位于 platforms/ios/WeexEros/。運(yùn)行 scripts/install.ios.sh 會(huì)自動(dòng)拉取WeexiOSSDK、Benmu-iOS-Library兩個(gè)依賴庫(kù)執(zhí)行pod update并打開(kāi)WeexEros.xcworkspace日常升級(jí)運(yùn)行 scripts/update.ios.sh 即可。依賴清單集中在 Podfile 中WeexSDK是核心運(yùn)行庫(kù)WXDevtool只在 Debug 配置下集成Release 包會(huì)自動(dòng)剔除調(diào)試組件減小體積、也便于過(guò)審。3.2 Xcode 簽名配置用 Xcode 打開(kāi)WeexEros.xcworkspace注意是 workspace 不是 project 文件 project.pbxproj在Signing Capabilities面板完成選擇你的 Team開(kāi)發(fā)者賬號(hào)Bundle Identifier 改成自己未占用的 ID開(kāi)啟 Automatic Signing 或手動(dòng)指定證書(shū)與 Provisioning Profile在 Info.plist 中核對(duì)版本號(hào)與 config/eros.native.js 的version.iOS保持一致。??新手最常踩的坑真機(jī)首次安裝測(cè)試包時(shí)需要到設(shè)置 → 通用 → 設(shè)備管理中信任開(kāi)發(fā)證書(shū)否則 App 無(wú)法打開(kāi)。上架 App Store 的正式包則無(wú)此問(wèn)題。3.3 Archive 生成 IPA選擇真機(jī) Target 后執(zhí)行Product → Archive再在 Organizer 中選擇Distribute App → App StoreXcode 會(huì)自動(dòng)完成公證簽名并導(dǎo)出可上傳的包。四、雙端發(fā)布與上架要點(diǎn) 4.1 應(yīng)用市場(chǎng)提交清單項(xiàng)目AndroidiOS產(chǎn)物簽名后的 Release APKApp Store Connect 上傳的 IPA簽名自己的 keystore勿用 demo 證書(shū)App Store 分發(fā)證書(shū) Profile版本遞增 versionCode遞增 CFBundleVersion審核注意關(guān)調(diào)試、清日志關(guān) Debug 組件、隱私權(quán)限說(shuō)明齊全4.2 熱更新免審核的快速迭代 ?Eros 的一大殺手锏是熱更新機(jī)制客戶端內(nèi)置更新邏輯從遠(yuǎn)端拉取新 JS bundle 并即時(shí)生效無(wú)需重新走應(yīng)用市場(chǎng)審核。相關(guān)地址在 config/eros.native.js 的url.bundleUpdate中配置配合開(kāi)源的熱更新后臺(tái) eros-publish 可實(shí)現(xiàn)發(fā)版當(dāng)天生效。實(shí)際策略推薦大版本走市場(chǎng)審核小迭代走熱更新既合規(guī)又敏捷。五、常見(jiàn)問(wèn)題速查 ?打包后頁(yè)面白屏檢查 JS bundle 是否已編譯并放入assets以及bundleUpdate地址是否可訪問(wèn)。iOS 真機(jī)裝不上到設(shè)備管理中信任開(kāi)發(fā)證書(shū)或改用免費(fèi)/付費(fèi)證書(shū)的正式 Profile。Android 上架被拒多為權(quán)限描述不完整或含調(diào)試入口發(fā)布前關(guān)閉調(diào)試模塊并補(bǔ)充權(quán)限說(shuō)明。兩端版本號(hào)不一致雙端版本號(hào)統(tǒng)一維護(hù)在 config/eros.native.js修改后記得同步到 Android 與 iOS 工程配置。寫(xiě)在最后Eros 讓前端開(kāi)發(fā)者用一份 Vue 代碼完成雙端原生應(yīng)用——依賴一鍵裝、版本一處配、簽名按平臺(tái)走、發(fā)布雙通道市場(chǎng) 熱更新。按照本文 5 個(gè)部分依次執(zhí)行從git clone https://gitcode.com/gh_mirrors/er/eros開(kāi)始到你的 App 出現(xiàn)在應(yīng)用市場(chǎng)并沒(méi)有想象中那么難。【免費(fèi)下載鏈接】eros 一套 Vue 代碼兩端原生應(yīng)用 或許可以叫我 weex-native。項(xiàng)目地址: https://gitcode.com/gh_mirrors/er/eros創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考