ReactNative跨平台開發系列教程:
不知不覺已經寫了七篇,expo其實比處於rn,但是比rn要簡單,現成的東西也是很多的,上次我根據版本推斷了一下,expo 17對應rn0.44,這樣算來,在rn0.27的時候,expo才推出來,一件新事物的出現,必然有一定的機遇,expo基於rn,但是開發的高效,也是許多人喜歡的原因吧!好了不多說了,開始擼碼,你准備好了嗎?
expo打包發布
這篇主要說一下,如何使用expo打包發布你做好的app,因為在打包之前,你的app都是運行在expo client的。
要用expo打包發布項目,我們的需要有exp命令,這個命令你可以通過
npm install -g exp
進行全局安裝,安裝之前你可以檢查一下你是否 曾經安裝過它。如圖:(這里我已經安裝過了)
演示打包發布的話,我們新建一個項目 ,然后演示
配置項目的app.json
主要是填寫一下配置信息,這里需要注意兩點:配置ions的時候,對icons的圖像大小是做限制的,文檔中有體現,好像必須是120*120,如果尺寸不對的話,
會發布失敗,還有一點的話,ios獨立app默認是白色的,但是當我們用expo發布后,他會變成黑色,我們需要用代碼控制顏色,<StatusBar barStyle="dark-content" />
詳細的關於statusbar資料,請參考這里。
如果配置好了以后的話,進入expo項目根目錄,我們執行一下命令
exp start
發現有錯誤,更正后,我們再次運行:
哈哈,給了很多警告,暫且不管他,
我們繼續操作:另開一個窗口,運行下面命令
exp build:android
or
exp build:ios
咱們在這里詳細看一下這句話:
這里其實就是一個友情提示一下,問你了解keystore嗎?如果你不知道本地如何生成它的話,或者說,你根本就不知道什么是keystore的話,expo將替你生成它,
這里我們介紹一下本地如何生成他,這里我引用情書哥的簡書
keytool命令生成一個私有密鑰。在Windows上keytool命令放在JDK的bin目錄中(比如C:\Program Files\Java\jdkx.x.x_x\bin),你可能需要在命令行中先進入那個目錄才能執行此命令。在mac上,直接進入項目根目錄輸入一下命令: $ keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000 這條命令會要求你輸入密鑰庫(keystore)和對應密鑰的密碼,然后設置一些發行相關的信息。最后它會生成一個叫做my-release-key.keystore的密鑰庫文件。 在運行上面這條語句之后,密鑰庫里應該已經生成了一個單獨的密鑰,有效期為10000天。--alias參數后面的別名是你將來為應用簽名時所需要用到的,所以記得記錄這個別名。 注意:請記得妥善地保管好你的密鑰庫文件,不要上傳到版本庫或者其它的地方。嗯,這就是如何生成keystore
打包過程中,他會給我生成一個url
這是它先把我們的項目放到了expo官網上了,訪問這個鏈接,可以看到你發布的項目。
在打包的過程中,我們還可以查看打包的進度
exp build:status
此圖顯示,正在打包中,過程有點漫長,要有耐心,.,
打包成功后,我們會得到 .
apk
(Android) or.ipa
(iOS)的鏈接包,我們可以復制這個鏈接去下載我們打包好多apk或者ipa
拿到下載好的apk,你就可以往各大應用商店發布了!!
我的github地址 項目在這里找到!
后續文章持續更新,敬請期待!
文章為作者原創,轉載請注明出處。