一,jdk版本
JDK 的版本必须是 1.8!否则编译的时候会报错
类似:
Cannot find System Java Compiler. Ensure that you have installed a JDK (not just a JRE) ……
另外Node 的版本必须高于 8.3,Python 的版本必须为 2.x(不支持 3.x)
二,Intel Virtual Technology
报错信息类似:
ERROR: x86 emulation currently requires hardware acceleration!
因为开发安卓需要模拟器,如果是用的Android studio,必须在BIOS里打开Intel Virtual Technology,我的是华硕主板,具体操作了参考:
https://jingyan.baidu.com/article/4e5b3e190066c091901e2482.html
三,使用adb指令出错
配置环境变量:
https://jingyan.baidu.com/article/17bd8e52f514d985ab2bb800.html
四,模拟器和本地adb版本不匹配
使用指令发现连接不到自己的安卓模拟器
报错类似:
adb server version (36) doesn't match this client (39); killing..
adb版本不匹配导致的,需要手动替换下,操作如下:
https://www.cnblogs.com/jason89/p/9027544.html
五,入口文件错误
报错内容:
Unable to load script from assets 'index.android.bundle
原图:
需要修改入口文件:
首先,新建文件夹:
然后执行指令:
react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
成功:
六,ip和端口问题
报错内容:
Could not run adb reverse: Command failed: C:\Users\admin\AppData\Local\Android\Sdk/plat
form-tools/adb -s 127.0.0.1:62001 reverse tcp:8081 tcp:8081
解决办法:
摇一摇手机,或者执行adb指令:adb shell input keyevent 82
呼出操作菜单,点击dev setting
选择Debug server host & port for device,设置IP和端口。
地址为本机地址,端口固定为报错提示的端口,一般为8081
改好之后,reload即可。
七,无法启动adb服务;
cannot open transport registration socketpair: Invalid argument
1,端口占用,查出pid,kill进程,重新adb start-server;
2,防火墙,添加信任即可。
八,版本问题;
react-native init demo --version 0.55.1