React Native运行项目的时候经常要输入命令,而Windows下系统自带 的cmd和PowerShell界面和功能都不太友好,Windows下的cmd替代工具有Babun、Console2、PowerCmd、ConEmu、Cmder等,其中Cmder与react native开发搭配使用是最好的。
Cmder下载及使用指南:
Cmder下载地址,下载mini版本就够用了
-
右键菜单
首先,按照使用说明将 Cmder添加到右键菜单。我一般将react native项目文件的快捷方式放到桌面上,直接在快捷方式右键,点击Cmder Here就可以直接定位到当前项目目录了。 -
多窗口与预览
双击下方标签栏空白处可以快速建立窗口,在Cmder的Settings>Main>Task bar>Taskbar buttons中选择Active console only(CoEmu window),这样即使打开多个窗口,点击任务栏中的Cmder图标时会自动显示当前活动的窗口,而不需要点击预览窗口再进行选择才能弹出窗口
-
别名设置
在 Cmder 安装目录下config 文件夹中有一个user-aliases的文件,保存着许多常用指令的别名( Alias ),让你用短短的指令执行一些常见但指令超长又难以记忆的语法。
别名设置方法:
在user-aliases文件末尾加上,如adbstart=adb start-server
等号左边是简写别名,等号右边表示向控制台输入的命令
adb相关常用命令别名设置(别名简写可自行更改)
功能 | 别名设置 | 命令 |
---|---|---|
开启adb服务器 | adbstart | adb start-server |
关闭adb服务器 | adbkill | adb kill-server |
查看当前连接到电脑的安卓设备 | adbd | adb devices |
接海马玩模拟器 | adbh | adb connect 127.0.0.1:26944 |
断开海马玩模拟器 | dish | adb disconnect 127.0.0.1:26944 |
连接夜神模拟器 | adby | adb connect 127.0.0.1:62001 |
断开夜神模拟器 | disy | adb disconnect 127.0.0.1:62001 |
监听无线adb设备(需要手机通过usb连接电脑 后运行此命令,则可以进行无线adb调试) | adbtcpip | adb tcpip 5555 |
USB调试,Android 5.0及以上 不需要连接远程地址可以直接reload | reverse | adb reverse tcp:8081 tcp:8081 |
react-native相关常用命令别名设置(别名简写可自行更改)
功能 | 别名设置 | 命令 |
---|---|---|
开启react native服务器(默认为8081端口) | rns | react-native start |
开启react native服务器(8088端口) | rnsp | react-native start --port=8088 |
运行android | rnrun | react-native run-android |
打印日志,Debug JS Remotely太慢时,可以直接在命令行里查看log | rnlog | react-native log-android |
显示中文,由于Cmder无法在react-native log-android下显示中文会乱码 | utf | CHCP 65001 |
合并上面两条命令,这样查看log就不需要每次输入两条命令了 | log | CHCP 65001 & react-native log-android |
打包资源,打包android安装包时需要运行此命令 | rnbundle | react-native bundle --platform android --dev false --entry-file index.android.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/ |
编译打包android安装包(需要cd到android目录下) | arelease | gradlew assembleRelease |
编译打包android安装包(直接在项目工程目录下运行即可, 自动cd到android目录下) | release | cd android & gradlew assembleRelease |
编译打包并安装到连接的android设备 | irelease | gradlew installRelease |
编译失败时,可以运行此命令排除因为组件编译过程中 产生的build目录下文件冲突导致的问题 (直接在项目工程目录下运行即可,自动cd到android目录下) | clean | cd android & gradlew clean |
最后,附上我的user-aliases配置文件:
adbstart=adb start-server
adbkill=adb kill-server
adbd=adb devices
adbtcpip=adb tcpip 5555
adbh=adb connect 127.0.0.1:26944
dish=adb disconnect 127.0.0.1:26944
adby=adb connect 127.0.0.1:62001
disy=adb disconnect 127.0.0.1:62001
adb100=adb connect 192.168.1.100
dis100=adb disconnect 192.168.1.100
rns=react-native start
rnsp=react-native start --port=8088
rnrun=react-native run-android
rnlog=react-native log-android
utf=CHCP 65001
log=CHCP 65001 & react-native log-android
reverse=adb reverse tcp:8081 tcp:8081
rnbundle=react-native bundle --platform android --dev false --entry-file index.android.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/
arelease=gradlew assembleRelease
release=cd android & gradlew assembleRelease
irelease=gradlew installRelease
clean=cd android & gradlew clean