1、RN跨平臺開發——環境搭建

了解React Native

React Native使你能夠在Javascript和React的基礎上獲得完全一致的開發體驗,構建世界一流的原生APP。React Native著力于提高多平臺開發的開發效率 —— 僅需學習一次,編寫任何平臺。(Learn once, write anywhere)。Facebook已經在多項產品中使用了React Native,并且將持續地投入建設React Native。

搭建React Native 環境

關于安裝React Native的說明可以查看React Native官方文檔(http://facebook.github.io/react-native/) 官方網站會提供最新的安裝參考。 ? ? ?

首先說明下以后的技術分享均以Mac OS X系統為基礎(首先你先準備一臺Mac),以為我是一個地道的iOS開發者,也是一名果粉,廢話不多說,進入正題你將會用到 Homebrew ?一個OS ?X系統的通用包管理工具,用來安裝 React Native的相關依賴。如果你有一臺mac,那么現在就可以同時開發iOS 和Android應用。

1.1 安裝Homebrew

打開 Homebrew ? 根據提示安裝。


打開終端,打入命令

安裝好Homebrew 之后,運行以下命(比較耗時時):
brew install node
brew install watchman
brew install flow

React Native 包管理器同時使用了node和watchman ,如果在今后的開發過程中遇到問題,建議你更新這些依賴。flow是Facebook公司出品的一個類型檢查庫,它同樣被React Native所采用。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 如果安裝過程中遇到問題,你可能需要更新brew 和相關依賴包 使用的命令行: brew update ? ? brew upgrade
如果出現錯誤,你需要修復本地的brew 安裝程序,brew ?doctor 可以幫助你找到問題所在。

1.2 安裝React Native

經過上面漫長的等待你已經安裝好了node ,我們接下來 就可以通過npm(Node 包管理器)來安裝React Native 的命令工具:
我們通過NPM安裝反應母語-CLI的命令行工具。在MAC終端中輸入如下命令,其中-g表示全局安裝。

npm install -g react-native-cli

這個步驟將會在你的系統全局安裝React Native命令行工具。

2.1 開發環境搭建(iOS- 安裝Xcode)

為了開發和發布iOS應用,你需要注冊一個iOS開發者賬號,開發者賬號分為兩種:個人(99美刀/年)? 企業(299美刀/年),用于后期開發完項目部署到iOS應用商店。

(1).你需要在你的mac上面安裝Xcode,? 它包含了Xocde 集成開發環境。iOS模擬器以及iOS SDK (軟件開發工具包)。你可以從應用商店或Xcode 網站(下載地址?) 下載。

Xcode 網站下載

Xcode 安裝成功,接下來配置Android依賴。

2.2開發環境搭建(Android)

Android 依賴的安裝步驟比較多,先推薦看下一下官方文檔(https://facebook.github.io/react-native/docs/android-setup.html?)里面有安裝說明,需要注意的是,這些安裝都是假設你從來都沒有安裝過Android 開發環境。

第一步:安裝SDK。
第二步:安裝模擬器。
第三步:創建模擬器。

首先,你需要安裝SDK(Java開發工具包) 和Android SDK。
(1) 安裝最新版本的JDK?? 下載地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html?? 如圖:2.2(1)

圖:2.2(1)

(2) 通過終端命令:brew install android-sdk 安裝Android SDK。如 圖:2.2(2)

圖:2.2(2)

(3) 在shell配置文件中正確導出 ANDROID_HOME 環境變量 (~/.bashrc? 、 ~/.zshrc 或其他shell)。

export ANDROID_HOME=/usr/local/opt/android-sdk

Mac 下的安卓配置環境變量
(1). 找到安卓的安裝路徑,我們在通過終端命令安裝的時候,在安裝成功之后有一個我們的安裝路徑,我們可以直接獲取到 如圖(3).1
(2). 在終端輸入命令.進入用戶目錄? ? $cd ~
(3). 然后輸入命令,該命令的作用是如果不存在.bash_profile文件,則創建該文件? ? $touch .bash_profile
(4).然后輸入命令,該命令的作用是用文本編輯器TextEdit打開.bash_profile文件。如果你是第一次配置環境變量,則該文檔應該是空的。
$open -e .bash_profile? ? ? 將export ANDROID_HOME=/usr/local/opt/android-sdk?? 添加到文件中。

圖(3).1

許多Android 相關的開發任務都使用這個環境變量。需要確保添加環境變量之后執行source 命令使得配置可以立即生效。

接下來可以在終端執行 android 命令,從而打開Android SDK 管理器,選擇 紅色區域勾選的 如圖? (3).2 進行安裝。

(3).2

安裝會話費一些時間,接下來,我們先安裝模擬器 和相關的工具,
啟動一個新的 終端頁面。輸入命令:android 啟動Android SDK管理器,我們再次安裝 Intel x86 Emulator Accelerator(HAXM installer) 如圖(3).3 點擊install 1 package。

圖(3).3

這些依賴包 使我們供我們創建Android虛擬設備(Android Virtual Device ,AVDs)或者模擬器 ,我們現在還未創建任何模擬器,我們接下來創建它,運行以下命令android avd
啟動AVD 管理器 如圖(3).4

圖(3).4

會彈出一個創建界面 如圖(3).5?

圖(3).5

點擊Create 填寫創建模擬器的相關信息 如圖(3).6

圖(3).6

我們在這里選的 CPU/ABI 是 arm64-v8a的架構。Target 選擇的是Android 7.0-API? 再次之前安裝環境比較慢, 只安裝了Android 7.0API、Android 7.1API ,我們先創建7.0的 ,
重要的事情說三遍,確保已經勾選了Use Host GPU ,否則模擬器非常慢,確保已經勾選了Use Host GPU ,否則模擬器非常慢,確保已經勾選了Use Host GPU ,否則模擬器非常慢。
填寫完信息信息,接下來啟動我們的Android模擬器 ,是不是非常激動,沒做過安卓的是不是感覺好神奇,如圖(3).7

圖(3).7

下面就馬上出現神器的模擬器界面如 圖(3).8,咱們的RN環境搭建也馬上進入尾聲了。

圖(3).8

如果愿意的話,你可以創建多個AVD,Android設備種類繁多,有不同的屏幕尺寸,分辨率和功能,因此使用不同的模擬器通常能為測試帶來幫助。當然我們前期以學習為目的,就先安裝一個。

到此為止React Native 環境搭建完畢,有不懂的可以給我留言,希望能夠幫到大家,我也是邊學邊寫一些技術博客,分享給大家。
我將會在下一篇:創建第一個RN應用。



作者:百事小武
鏈接:https://www.jianshu.com/p/95137688897a
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/286564.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/286564.shtml
英文地址,請注明出處:http://en.pswp.cn/news/286564.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Android之替換App桌面圖標

1、需求 需要動態替換app在桌面的圖標 2、解決辦法 1)、在AndroidManifest.xml里面進行配置多個啟動的alias別名 啟動的activity <activityandroid:name=".ui.SplashActivity"android:launchMode="singleTop"android:screenOrientation="port…

【ArcGIS遇上Python】ArcGIS10.8 Python代碼批量完美實現MODIS NDVI數據格式轉換和投影變換

由于論文的需要,將MODIS NDVI數據進行投影變換和格式轉換,具體操作可以參照:《ArcGIS10.8完美實現MODIS NDVI數據格式轉換和投影變換》,但是該文章中的做法只能一次性實現一景影像的轉換,沒法批量,雖然ArcGIS中提供了Batch的方法但是需要挨個添加數據,確定輸出路徑等等,…

引入 DTM 以支持 ABP 的多租戶多數據庫場景

這篇文章分享了使用 DTM 二階段消息模式解決 issue #10036 的方法。今天我們要使用 EasyAbp 的 Abp.EventBus.Boxes.Dtm 模塊。DTM 事件箱的介紹這個模塊使用了 DTM 的 二階段消息 使得 ABP 的事件箱得以支持 多租戶多數據庫場景。你需要先閱讀 DTM 文檔&#xff0c;它將幫助你…

【前端就業課 第一階段】HTML5 零基礎到實戰(六)表格詳解

注意&#xff1a;手機&#xff08;APP&#xff09;打開&#xff0c;內容顯示更佳&#xff0c;不會的私聊博主即可 想要拿代碼或加入學習計劃&#xff08;** 博主會監督你并且教你寫文章 **&#xff09;的拉到最下面&#xff08;PC端Web打開&#xff09;加博主即可&#xff0c;目…

PHP中file_put_contents()函數的兼容性問題

PHP中file_put_contents()函數的兼容性問題 file_put_contents()函數就相當于依次使用fopen()&#xff0c;fwrite()和fclose()&#xff0c;真是個令人愉快的函數。我的第一個PHP小腳本中用到了這個函數&#xff0c;本地運行很正常&#xff0c;放到服務器上去之后點擊submit按鈕…

Android實戰:手把手實現“捧腹網”APP(一)-----捧腹網網頁分析、數據獲取

“捧腹網”頁面結構分析捧腹網M站地址: http://m.pengfu.com/捧腹網M站部分截圖&#xff1a; 從截圖中&#xff08;可以直接去網站看下&#xff09;&#xff0c;我們可以看出&#xff0c;該網站相對簡單&#xff0c;一共分為四個模塊&#xff1a;最新笑話、捧腹段子、趣圖、神…

專題2-通過按鍵玩中斷\第1課-中斷處理流程深度剖析-lesson1

中斷概念 1、中斷生命周期 串口先產生一個事件&#xff0c;該事件傳送到中斷控制器里面&#xff0c;中斷控制器會進行相應過濾&#xff0c;能通過過濾&#xff0c;那么就交給CPU去處理。 2、中斷源 2440芯片手冊 6410芯片手冊 3、中斷過濾 4、中斷處理 cpu處理方式有兩種&#…

Android之okdownload下載提示奔潰Expected URL scheme ‘http‘ or ‘https‘ but was ‘data‘

1 問題 客戶現場奔潰在firebase上面提示錯誤信息如下 Fatal Exception: java.lang.IllegalArgumentException: Expected URL scheme http or https but was dataat okhttp3.t$a.a(HttpUrl.kt:38)at okhttp3.t$b.b(HttpUrl.kt:8)at okhttp3.y$a.b(Request.kt:5)at com.liulish…

mysql語法學習(一)__Instances__表

2019獨角獸企業重金招聘Python工程師標準>>> ---建表 CREATE TABLE temp( id INT ); ----查詢表 SELECT * FROM temp_t; ---刪表 DROP TABLE temp; ---修改表名 ALTER TABLE temp_tt RENAME temp; ALTER TABLE temp RENAME TO temp_t; ALTER TABLE temp RENAME AS t…

【ArcGIS遇上Python】python批量獲取柵格數據四至(top,bottom,left,right)坐標代碼

上圖所示為ArcGIS自帶的影像數據,存放路徑為C:\Program Files (x86)\ArcGIS\Desktop10.6\ArcGlobeData\wsiearth.tif",在源中可以查看該數據的四至坐標,那么,怎樣用python批量獲取多個柵格數據的四至坐標呢? 參考閱讀:【ArcGIS風暴】ArcGIS求一個矢量圖層中多個圖斑…

使用 C# 讀取 zip 壓縮包解壓文件的方法及注意事項

從 .NET Framework 4.5 版本開始&#xff0c;微軟為 .NET 類庫增加了一個名為 ZipFile 的類型。該類型在 System.IO.Compression 命名空間下&#xff0c;提供創建、解壓縮和打開 zip 存檔的靜態方法。若要在 .NET Framework 應用中使用 ZipFile 類&#xff0c;必須添加對程序集…

CenterOS x64安裝serv-U

1、下載serv-Usu - root cd / cd /src wget http://www.rhinosoft.com.cn/download/14.0.1.0/SU-MFTS-Linux-64bit.zip # 64bit下載地址wget http://www.rhinosoft.com.cn/download/14.0.1.0/SU-MFTS-Linux-32bit.zip # 32bit下載地址2、解壓serv-U安裝包unzip SU-MF…

Android實戰:手把手實現“捧腹網”APP(二)-----捧腹APP原型設計、實現框架選取

APP原型設計在APP的開發過程中&#xff0c;原型設計是必不可少的。用戶界面原型必須在先啟階段的初期或在精化階段一開始建立。整個系統&#xff08;包括它的“實際”用戶界面&#xff09;的分析、設計和實施必須在原型建立后進行。 如何設計“捧腹網”APP呢&#xff1f;我們先…

【前端就業課 第一階段】HTML5 零基礎到實戰(七)文字及圖片詳解

注意&#xff1a;手機&#xff08;APP&#xff09;打開&#xff0c;內容顯示更佳&#xff0c;不會的私聊博主即可 想要拿代碼或加入學習計劃&#xff08;** 博主會監督你并且教你寫文章 **&#xff09;的拉到最下面&#xff08;PC端Web打開&#xff09;加博主即可&#xff0c;目…

自定義桌面右鍵菜單

一 編寫自定義右鍵菜單要執行的程序 只要是在 Windows 平臺上的可執行應用程序即可。 二 修改注冊表添加自定義右鍵菜單 添加位置如下&#xff1a; HKEY_CLASSES_ROOT\Directory\Background\shell 如下圖&#xff1a;轉載于:https://www.cnblogs.com/jRoger/articles/5799664.h…

Android之giide加載失敗提示You can‘t start or clear loads in RequestListener or Target callbacks If you‘re t

1 問題 用glide進行加載視頻數據的時候,加載錯誤了再用glide進行加載一次,代碼如下 var iv = helper.getView<ImageView>(R.id.download_iv)iv?.let {val transform = RoundedCornersTransform(mContext, UnitUtils.dip2px(mContext, 12.toFloat()).toFloat())transf…

本地工程提交github

1. 首先在github上創建一個新的Repository 2. 在本地windows機器上裝上git 3. 建立一個文件夾&#xff0c;以后就用這個文件夾作為與Repository對應的庫文件夾 4. 輸入一下命令&#xff0c;建立文件夾與Repository的連接關系 touch README.md git init git add README.md git c…

【ArcGIS遇上Python】ArcGIS python計算長時間序列多個柵格數據的平均值

通常&#xff0c;我們需要將多個柵格求平均&#xff0c;例如&#xff0c;將一年中每個月的NDVI值加起來除以12&#xff0c;就會等到月均NDVI&#xff0c;該過程雖然在柵格計算器中可以實現&#xff0c;但是當時間序列較長時就比較費事&#xff0c;此時&#xff0c;python代碼是…

統信 Deepin為什么要擺脫Ubuntu和Debian?

文 | 大東出品 | OSC開源社區&#xff08;ID&#xff1a;oschina2013&#xff09;Deepin 出走 Debian 。近日&#xff0c;統信軟件宣布旗下 Linux 社區發行版 Deepin 將脫離上游 Debian&#xff0c;從 Linux Kernel 開始構建的新聞在社區引發了熱議。其實早在 7 年前&#xff0…

解決筆記本重裝問題(VISTA系統改為XP系統)

今天一位同事要我幫她的上網本重裝一下系統&#xff0c;經查看發現只是開機后一個出錯問題&#xff0c;是安裝酷狗軟件引起的&#xff0c;用360軟件管家徹底刪除就行了。這時&#xff0c;老大拿了一臺筆記本過來讓我幫忙裝XP操作系統&#xff0c;嘿~這下我的桌子擺滿了電腦&…