我正在尝试在运行react-native
的Samsung Galaxy S3上运行4.1.2
应用程序。根据{{3}}支持此版本。
我使用create-react-native-app
并创建了一个简单的未修改应用程序。我尝试使用yarn run android
在设备上运行它,但是我收到以下错误:
Error running adb: Error running app. Error: Activity not started, unable to resolve Intent { act=android.intent.action.VIEW dat=exp://192.168.0.10:19000 flg=0x10000000 }
(node:58131) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'length' of null
at /xdl/src/Android.js:88:18
at Generator.next (<anonymous>)
at step (/Users/spongebob/Projects/AwesomeProject/node_modules/xdl/build/Android.js:473:191)
at /Users/spongebob/Projects/AwesomeProject/node_modules/xdl/build/Android.js:473:361
at <anonymous>
(node:58131) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
我的手机已连接:
adb devices
List of devices attached
4790207223d13060 device
尝试使用Genymotion运行时出现此问题,但我通过使用API 19
创建模拟器来解决此问题。我的手机是API 16
。
我知道为什么会收到此错误?我不想更新此三星,因为我特别想在API 16上测试应用程序。如果支持API 16,我无法理解为什么它没有运行。
以下是其他一些信息:
Environment:
OS: macOS Sierra 10.12.6
Node: 9.5.0
Yarn: 1.3.2
npm: 5.6.0
Watchman: Not Found
Xcode: Not Found
Android Studio: 3.0 AI-171.4443003
Packages: (wanted => installed)
react: 16.2.0 => 16.2.0
react-native: 0.54.0 => 0.54.0
答案 0 :(得分:0)
将操作系统从ubuntu更改为Windows 10后,我遇到了相同的错误。
我通过以下方法解决了
1.set REACT_NATIVE_PACKAGER_HOSTNAME ='my-custom-ip-address-or-hostname'
检查是否在“系统高级设置”中添加了JAVA_HOME和Path变量。
将Expo最新版本的apk手动安装到模拟器中(因为npm run android不会自动将expo安装到模拟器中)。
然后让npm运行android。
对我有用。