导航
导航
文章目录
  1. 概述
  2. 安装依赖
    1. Node, Python2, JDK
    2. React Native CLI
    3. Android Development Environment
  3. 启动Android Virtual Device
  4. 调试
  5. 打包发布
  6. 参考资料

React Native初探

概述

本文基于React Native(0.44)官方文档Getting Start实践在Windows 10 操作系统下开发Android APP,主要记录实际开发过程与官方文档不同之处。

安装依赖

Node, Python2, JDK

官方推荐使用Chocolatey(windows下的包管理工具)进行安装,也可以在依赖工具的官网下载安装包进行安装:

React Native CLI

使用下面命令安装 React Native CLI :

npm install -g react-native-cli

Android Development Environment

具体步骤请参考官方教程

启动Android Virtual Device

这点很重要,进行React Native APP的调试可以选择在安卓模拟器或者真机上进行,如果使用安卓模拟器,在调试之前必须先把模拟器打开,不然会报下面的错误:

Execution failed for task ':app:installDebug'.
> com.android.builder.testing.api.DeviceException: No connected devices!

错误提示为:未发现连接的设备。如果是用模拟器,错误提示可以理解为“模拟器未打开”。

下面通过命令行的方式打开安卓模拟器

1.查看可用安卓模拟器

emulator -avd -list-avds

2.假如上述列表为空,则通过Android Studio创建新的模拟器:

创建路径为 tools - android - AVD manager

在创建的时候可能会遇到问题,如果不是预期,请谷歌解决。

3.开启模拟器

emulator -avd <AVD-name>

开启模拟器的过程最可能出现的问题是下面的错误:

[11256]:ERROR:./android/qt/qt_setup.cpp:28:Qt library not found at ..\emulator\lib64\qt\lib
Could not launch '..\emulator/qemu/windows-x86_64/qemu-system-x86_64.exe': No such file or directory

这是因为emulator更新过程中目录发生了变化,可通过下面命令查询emulator路径

which emulator

如果和qemu-system-x86_64.exe文件不再同一个目录,进入qemu-system-x86_64.exe目录,重新输入启动模拟器的命令即可

如何通过环境变量更改后面再填坑

调试

这里使用React官方案例,下载案例命令如下:

react-native init AwesomeProject

进入AwesomeProject目录,输入下面命令:

react-native run-android

顺利的话就可以在模拟器中看到APP了。

我在打包后遇到过这个错误

Error calling AppRegistry.runApplication

有人反馈在模拟器中也遇到过,解决方法请参考Error calling Appregistry.runApplication in react-native

打包发布

前面准备工作做好后,React签名打包相对简单,输入下面命令就好:

gradlew assembleRelease

在Mac或者Linux系统,使用这个命令:./gradlew assembleRelease

如果是想发布签名版APK,请参考Generating Signed APK

可能会遇到的问题是:

1.finished with non zero exit value

解决方法:通过gradlew assembleDebug --info尝试打包debug的APK, 然后在重新使发布命令。

2.设置签名后输出的APK还是未签名的

解决方法:目前无解,不知道为什么按照官方教程设置以后依然是未签名的APK,但可以手动给未签名的APK设置签名,参考这篇文章:Ionic打包Android apk设置签名部分。

参考资料

【1】Getting Started
【2】Failed run android simulator : No connected devices!
【3】Android emulator启动模拟器
【4】How do I launch the Android emulator from the command line?