帶你從零學ReactNative開發跨平台App開發[expo 打包發布](八)


 ReactNative跨平台開發系列教程:

帶你從零學ReactNative開發跨平台App開發(一)

帶你從零學ReactNative開發跨平台App開發(二)

帶你從零學ReactNative開發跨平台App開發(三)

帶你從零學ReactNative開發跨平台App開發(四)

帶你從零學ReactNative開發跨平台App開發(五)

帶你從零學ReactNative開發跨平台App開發(六)

帶你從零學ReactNative開發跨平台App開發(七)

hot:更多>>

不知不覺已經寫了七篇,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地址 項目在這里找到!

后續文章持續更新,敬請期待!

文章為作者原創,轉載請注明出處。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM