React Native Android 源碼分析以前期準備

前言

React Native 是目前最流行的跨平臺框架,而且是 Facebook 團隊開源的項目。架構及實現技術上都有很高的研究價值,本系列就來分析一下 React Native 的一些核心代碼。java

此係列文章針對的是有過 React Native 開發經驗的小夥伴,沒有 React Native 開發基礎的小夥伴,能夠先根據官方文檔進行學習後,再來閱讀此係列文章react

環境

如下是筆者研究 React Native 源碼時的環境android

  • OS: MacOS 10.13.5
  • Node: v10.5.0
  • Yarn: 1.7.0
  • npm: 6.1.0
  • Android Studio: Version 3.1.3
  • NDK: android-ndk-r10e
  • React Native: 0.56-stable 分支

具體的環境能夠因人而異,可是請保證 Node 的版本需在 8 及以上, NDK 的版本必定要保證是 r10e, 具體的描述可參考官方文檔c++

源碼目錄分析

本系列將基於最新的 0.56-stable 進行分析,如下是源碼核心目錄示意列表git

. // react native 根目錄
+-- Libraries // JS 層的實現,包括 JS 隊列的封裝及 UI 組件的封裝
+-- local-cli // react native cli 的 JS 實現
+-- React // React Native iOS 層實現
+-- ReactAndroid // Android 層實現,本系列主要分析的地方
|   +-- src
|       +-- main
|           +-- java // Java 層實現
|           +-- jni // JNI 層的實現
+-- ReactCommon // React Native 核心代碼實現目錄,爲了跨平臺均使用 c++ 編寫
+-- ReactTester // Demo 入口
+-- README.md
複製代碼

源碼編譯

將源碼下載到本地以後,能夠使用 Android Studio 直接打開 react native 的根目錄,RNTester 目錄下的 Android 實例項目能夠做爲咱們分析源碼的 Demo 程序。github

在保證 Node 版本等於 8 及以上以後,能夠直接在 react native 源碼的根目錄下運行npm

$ npm install && npm run start
複製代碼

將會下載相關依賴而且開啓 react native 的本地服務來,此時 Android Studio 運行項目將會安裝 RNTester App 安裝到模擬器或真機上。react-native

注意,若是是使用真機運行,須要 adb reverse tcp:8081 tcp:8081 來說端口進行綁定bash

以上就是前期須要進行的準備,下面一塊兒來分析一下 React Native 在 Android 上的啓動過程架構

相關文章
相關標籤/搜索