Facebook 于 2015 年 9 月 15 日推出 React Native for Android 版本。相比起 for iOS,for Android 跑 “Hello, World!” 折腾了不少。在这些复杂的环境、工具依赖里,我们可以看出 React Native for Android 的一些端倪。
本系列文章就以开发一个 “Hello, World!” 的 App 为线索,跟大家一起来了解 React Native for Andorid 的技术背景。
在开始 RN 开发之前,我们需要在自己的机器上准备基础的开发环境:
$ brew install nvm
nvm 是 Node.js 的版本管理器,可以轻松安装各个版本的 Node.js$ nvm install node && nvm alias default node
需要 4.0 或以上。RN CLI 使用到了 ES6 的语法特性RN 官方还推荐我们安装 2 个工具包,这是可选的,它们分别是:
$ brew install watchman
Facebook 出品的文件监控工具,如果你安装了它,RN 会用它来检测文件变化,以便重新编译。如果你没有安装,会默认使用 walker。 $ brew install flow
Facebook 出品的 JS 静态类型的检查器如果你安装了 watchman 又版本太低,那么编译项目的时候可以能会报错 Cannot read property 'root' of null
,所以如果安装了 watchman 请运行 $ brew update && brew upgrade
确保使用最新版本。
Android 应用程序开发中,通过在 Android SDK(Android 软件开发包)中使用 Java 作为编程语言来开发应用程序(开发者亦可以通过在 Android NDK(Android Native 开发包)中使用 C 语言或者 C++ 语言来作为编程语言开发应用程序)。
此外,Google 还推出了 Android Studio ,是一个为 Android 平台开发程序的集成开发环境(对比 iOS 的 Xcode)。
现在就来开始准备 Android 的开发环境:
$ brew install android-sdk
SDK 指 Software Development Kit,软件开发工具包。 这里安装的是 Stand-alone Android SDK Tools,基础的 SDK 工具。默认情况下,这个 SDK 并不包括着手开发所需的一切内容。Android SDK 将工具、平台和其他组件分成若干个软件包,可以通过 Android SDK 管理器根据需要下载这些软件包。因此需要先为 Android SDK 添加几个软件包,然后才能着手开发。$ android
来打开 SDK Manager$ANDROID_HOME/build-tools/$VERSION/
$ANDROID_HOME/platform-tools
$ANDROID_HOME/tools
完成了开发环境的准备,接下来我们需要准备应用的运行环境(类似于我们进行前端开发时需要在本机安装一个浏览器来运行我们的代码),这里有 2 种方式:
第一种方式是在本机安装 Android 模拟器,模拟一个 Android 系统。 这里推荐使用 Genymotion,个人用户免费的模拟器。
除了模拟器,我们还可以在手机上使用 USB 调试模式把自己的应用运行在这个真机环境里。
$ adb devices
查看当前可用设备,确认调试连接是否成功。如果成功在列表下将会出现你的设备
万事具备,开始用 RN 新建一个 Android 应用并且让它在你准备的运行环境里跑起来吧。
$ npm install -g react-native-cli
react-native-cli(0.1.7) 只是一个外壳,实际执行的代码是在:react-native/local-cli/cli.js
$ react-native init AwesomeProject
AwesomeProject/index.android.js
,修改 Text 标签内的文案为 Hello, World!
在 AwesomeProject 项目目录运行 $ react-native run-android
,如果你使用的运行环境是模拟器,如无意外,你将会在你的模拟器上看到这个画面: