- 浏览: 668076 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
qinshubao152:
参考:http://www.see-source.com/bl ...
关于android USB Host 串口编程 -
q328965539:
哥们 我做的数据也都是错误的啊····我怎么可以知道自己otg ...
关于android USB Host 串口编程 -
hgkmail:
好文
android中跨进程通讯的4种方式 -
cczscq:
楼主,我这里有个问题!我这里有个自己制作的font.ttf,这 ...
android字体的工作原理 -
blueice1986:
既然springMVC比struts好那么多的话那struts ...
为什么有了Struts 还要Spring MVC
react native环境搭建请移步:react native环境搭建
这里说说react native创建完成之后,运行中出现的常见问题,
问题1:
java.lang.RuntimeException: SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.
这个是原因是工程找不到我们的android SDK。
解决方法:在工程的根目录下的android文件下新建一个local.properties的文件(我们可以直接拷贝Android项目的local.properties的文件)。
问题2:
A problem occurred configuring project ':app'.>failed to find Build Tools revision 23.0.1
这个是因为Build Tools revision 23.0.1和我们的sdk里面的版本不一致导致的。
解决方法:这里注意build.gradle和gradle中gradle-wrapper.properties的对应关系。
问题3
Could not install the app on the device, read the error above for details.
这个是因为未找到运行的设备
解决方法:注意在运行命令:react-native run-android之前一定要确保手机已经连接上电脑。
问题4
com.android.ddmlib.InstallException: Failed to establish session
这是小米手机调试的问题,我之前用魅族就没这问题
解决方法:小米手机设置里-------开发者选项---------启用MIUI优化关闭
问题5
SyntaxError:Strict mode does not allow function declaration in a lexically nested。
解决方案:
使用react-native init创建了一个新项目,在package.json中使用的react-native的版本如下:
"dependencies": {
"react": "15.4.1",
"react-native": "0.39.1"
}
报出如下图所示的错误:
SyntaxError
SyntaxError:Strict mode does not allow function declaration in a lexically nested statement.
解决办法
第一种解决方案
打开
.\node_modules\react-native\Libraries\Core\InitializeCore.js 112行。
代码如下图:
将function handleError(e, isFatal)替换成var handleError = function(e, isFatal)
如下图所示:
最终执行npm start -- --reset-cache或者reload,解决问题。
第二种解决方案
将react-native版本改成0.38.0也能解决问题。
"dependencies": {
"react": "15.4.1",
"react-native": "0.39.1"
}
改成
"dependencies": {
"react": "15.4.1",
"react-native": "0.38.0"
}
问题原因
react-native的源码问题,在use strict严苛模式下,不允许如上的方式声明函数,会编译不通过,fackbook官方应该会会快修复这个问题。感谢阅读,希望能帮到你。
问题6
Could not connect to development server.
来看一张图:
大体意思是:
连接不到开发的服务器。
请按照以下的步骤来修复此问题:
确保包服务器在运行
确保你的设备或者模拟器连接着电脑,并且手机打开了USB调试模式,然后在cmd中运行adb devices来查看已经连接好的设备列表
确保飞行模式是关闭的
如果是使用真机来开发,输入 adb reverse tcp:8081 tcp:8081来检查设备
输入IP:8081(这个大家都会)
首先我是启动了服务的,并且打开了浏览器调试:
[javascript] view plain copy
http://localhost:8081/index.android.bundle?platform=android
查看端口信息
[javascript] view plain copy
adb reverse tcp:8081 tcp:8081
在没有的话可以打开dev Settings输入IP:8081调试就不多说了。
问题7
Could not install the app on the device, read the error above for details.
这个是因为react-native版本升级了,但是在项目的build.gradle没有改成升级的版本号。
问题8
com.android.ddmlib.InstallException: Failed to install all
解决方案:小米手机设置里-------开发者选项---------启用MIUI优化关闭
其他问题补充:
Q:RN所支持的最低iOS和Android版本?
A:Android >= 4.1 (API 16)
iOS >= 7.0
Q:RN和cordova/phonegap是一个东西吗?
A:不一样。RN不是一个webview(但包含了webview组件),不能直接复用web页面代码。RN的性能接近原生,超过cordova/phonegap。
Q:可以使用现有的js库吗?
A:由于RN理论上更接近nodejs的运行环境,所以对nodejs的库兼容更好一些。浏览器端的js库,涉及到DOM、BOM、CSS等功能的模块无法使用,因为RN的环境中没有这些东西
Q:如何升级RN版本?
A:请用编辑器打开项目目录中的package.json,找到类似下面的一行配置
"react-native": "0.31.0"
Q:应该使用什么IDE开发?
A:虽然常用的JS编辑器很多,但由于RN大量使用jsx和es6语法,目前只有sublime text(通过插件)和webstorm(10以上版本)提供了良好的支持。笔者推荐webstorm,因为它有更完善的语法提示和补全。另外虽然主要的业务逻辑是使用js开发,但仍然要依赖于原生的编译/调试环境,所以你还需要同时运行Xcode(iOS)或Android Studio(android)等。
Q:如何开启调试功能?
A:点击iOS模拟器顶部的Hardware菜单,选择Shake Gesture(对应真机摇一摇),会自动弹出如下图的菜单。
安卓模拟器则是点击菜单键,真机上没有菜单键的,摇一摇即可。
选择Debug in Chrome即会启动Chrome作为运行和调试环境(注意此时JS引擎为Chrome的V8,与iOS真机的javascriptCore引擎存在一些差异)。选择Inspect Element即可以像调试网页元素一样查看布局元素的样式,但比较简陋。React Devtools插件可装可不装,它只用来查看布局,不影响调试,且在目前的版本(>0.13)中还无法正常加载。
Q:使用ListView时报错:Sticky header index 0 was outside the range {...}
A:看起来是个数组越界错误,但多数情况下是由于ListView的子组件渲染错误(如套数据时没有检查undefined等)引起,而非ListView本身的问题。
Q:在使用Navigator的同时使用ListView或ScrollView,后两者的头部会多出一些空间。
A:将automaticallyAdjustContentInsets属性设为{false}.
这里说说react native创建完成之后,运行中出现的常见问题,
问题1:
java.lang.RuntimeException: SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.
这个是原因是工程找不到我们的android SDK。
解决方法:在工程的根目录下的android文件下新建一个local.properties的文件(我们可以直接拷贝Android项目的local.properties的文件)。
问题2:
A problem occurred configuring project ':app'.>failed to find Build Tools revision 23.0.1
这个是因为Build Tools revision 23.0.1和我们的sdk里面的版本不一致导致的。
解决方法:这里注意build.gradle和gradle中gradle-wrapper.properties的对应关系。
问题3
Could not install the app on the device, read the error above for details.
这个是因为未找到运行的设备
解决方法:注意在运行命令:react-native run-android之前一定要确保手机已经连接上电脑。
问题4
com.android.ddmlib.InstallException: Failed to establish session
这是小米手机调试的问题,我之前用魅族就没这问题
解决方法:小米手机设置里-------开发者选项---------启用MIUI优化关闭
问题5
SyntaxError:Strict mode does not allow function declaration in a lexically nested。
解决方案:
使用react-native init创建了一个新项目,在package.json中使用的react-native的版本如下:
"dependencies": {
"react": "15.4.1",
"react-native": "0.39.1"
}
报出如下图所示的错误:
SyntaxError
SyntaxError:Strict mode does not allow function declaration in a lexically nested statement.
解决办法
第一种解决方案
打开
.\node_modules\react-native\Libraries\Core\InitializeCore.js 112行。
代码如下图:
将function handleError(e, isFatal)替换成var handleError = function(e, isFatal)
如下图所示:
最终执行npm start -- --reset-cache或者reload,解决问题。
第二种解决方案
将react-native版本改成0.38.0也能解决问题。
"dependencies": {
"react": "15.4.1",
"react-native": "0.39.1"
}
改成
"dependencies": {
"react": "15.4.1",
"react-native": "0.38.0"
}
问题原因
react-native的源码问题,在use strict严苛模式下,不允许如上的方式声明函数,会编译不通过,fackbook官方应该会会快修复这个问题。感谢阅读,希望能帮到你。
问题6
Could not connect to development server.
来看一张图:
大体意思是:
连接不到开发的服务器。
请按照以下的步骤来修复此问题:
确保包服务器在运行
确保你的设备或者模拟器连接着电脑,并且手机打开了USB调试模式,然后在cmd中运行adb devices来查看已经连接好的设备列表
确保飞行模式是关闭的
如果是使用真机来开发,输入 adb reverse tcp:8081 tcp:8081来检查设备
输入IP:8081(这个大家都会)
首先我是启动了服务的,并且打开了浏览器调试:
[javascript] view plain copy
http://localhost:8081/index.android.bundle?platform=android
查看端口信息
[javascript] view plain copy
adb reverse tcp:8081 tcp:8081
在没有的话可以打开dev Settings输入IP:8081调试就不多说了。
问题7
Could not install the app on the device, read the error above for details.
这个是因为react-native版本升级了,但是在项目的build.gradle没有改成升级的版本号。
问题8
com.android.ddmlib.InstallException: Failed to install all
解决方案:小米手机设置里-------开发者选项---------启用MIUI优化关闭
其他问题补充:
Q:RN所支持的最低iOS和Android版本?
A:Android >= 4.1 (API 16)
iOS >= 7.0
Q:RN和cordova/phonegap是一个东西吗?
A:不一样。RN不是一个webview(但包含了webview组件),不能直接复用web页面代码。RN的性能接近原生,超过cordova/phonegap。
Q:可以使用现有的js库吗?
A:由于RN理论上更接近nodejs的运行环境,所以对nodejs的库兼容更好一些。浏览器端的js库,涉及到DOM、BOM、CSS等功能的模块无法使用,因为RN的环境中没有这些东西
Q:如何升级RN版本?
A:请用编辑器打开项目目录中的package.json,找到类似下面的一行配置
"react-native": "0.31.0"
Q:应该使用什么IDE开发?
A:虽然常用的JS编辑器很多,但由于RN大量使用jsx和es6语法,目前只有sublime text(通过插件)和webstorm(10以上版本)提供了良好的支持。笔者推荐webstorm,因为它有更完善的语法提示和补全。另外虽然主要的业务逻辑是使用js开发,但仍然要依赖于原生的编译/调试环境,所以你还需要同时运行Xcode(iOS)或Android Studio(android)等。
Q:如何开启调试功能?
A:点击iOS模拟器顶部的Hardware菜单,选择Shake Gesture(对应真机摇一摇),会自动弹出如下图的菜单。
安卓模拟器则是点击菜单键,真机上没有菜单键的,摇一摇即可。
选择Debug in Chrome即会启动Chrome作为运行和调试环境(注意此时JS引擎为Chrome的V8,与iOS真机的javascriptCore引擎存在一些差异)。选择Inspect Element即可以像调试网页元素一样查看布局元素的样式,但比较简陋。React Devtools插件可装可不装,它只用来查看布局,不影响调试,且在目前的版本(>0.13)中还无法正常加载。
Q:使用ListView时报错:Sticky header index 0 was outside the range {...}
A:看起来是个数组越界错误,但多数情况下是由于ListView的子组件渲染错误(如套数据时没有检查undefined等)引起,而非ListView本身的问题。
Q:在使用Navigator的同时使用ListView或ScrollView,后两者的头部会多出一些空间。
A:将automaticallyAdjustContentInsets属性设为{false}.
发表评论
-
AndroidStudio无法执行Java的main函数
2021-03-25 10:10 697FAILURE: Build failed with an e ... -
最近github经常打不开解决办法
2021-03-23 21:43 2https://zhuanlan.zhihu.com/p/15 ... -
android studio 各个历史版本下载
2021-03-15 16:51 1501android studio 各个历史版本下载 https: ... -
pod install 的历程
2021-01-27 09:34 340公司ios项目拉下来执行有报错,建议执行pod install ... -
Android Studio Database Inspector 使用
2021-01-22 15:24 521转:https://segmentfault.com/a/ ... -
kotlin学习
2021-01-05 10:26 294转 https://blog.csdn.net/github_ ... -
Flutter upgrade升级一直停留在 Running pub upgrade...
2020-10-26 10:15 1028win10 下配置 最后用国内镜像解决了。方法: 1、计算机 ... -
什么是MVVM模式的架构?
2020-10-20 12:14 464转自:https://www.jianshu.com/p/a8 ... -
原生开发、H5开发和混合开发的优缺点
2020-06-04 15:20 479目前市场上主流的APP分为三种:原生APP、Web APP( ... -
flutter填坑——解决ListView添加在Scaffold上默认的的top-padding
2020-01-11 15:09 567解决方法 把ListView用MediaQuery.remo ... -
Flutter开发环境搭建——Ubuntu
2019-09-02 18:10 401配置完做下记录 准备,加快下载速度 由于在国内访问Flutt ... -
原 android view相对于根布局的坐标获取
2019-05-10 11:09 884一张图就看懂了,附件 -
认识一下 Emoji
2019-03-26 15:07 608https://www.cnblogs.com/plokmju ... -
ubuntu批量修改文件名字(换动画资源必用)
2019-03-23 15:28 806for file_old in `ls | grep 原来的 ... -
ubuntu连接android设备(附最简单方法)
2019-03-14 10:35 869新买的手机IQOO后,连不上adb,显示数字加null,所以看 ... -
解决 Configure build 下载慢的问题(亲测有效)
2019-03-09 23:11 3070在build.gradle 文件加入下面代码即可 buil ... -
记录下ubuntu下studio安装flutter
2019-03-09 11:37 1244一、安装Flutter的SDK及环境配置 1、访问官网,下载S ... -
Flutter与React Native
2019-03-06 17:58 919Flutter 与React Native 对比 [关于性 ... -
论开发框架的选择MVP,RxFlux2,Rxjava,Dagger2或在不需要
2018-08-31 10:23 954为什么要使用框架 使用框架,是为了提高生产效率。 框架就是 ... -
不继承RxAppCompatActivity的情况下使用RxLifeCycle
2018-08-29 10:07 2030在Android中使用Rxjava时可能会在页面退出时出现内存 ...
相关推荐
react-native模块,让您注册一个全局错误处理程序,可以捕获致命/非致命的未捕获异常
ReactNative可以基于目前大热的开源JavaScript库React.js来开发iOS和Android原生App。而且React Native已经用于生产环境——Facebook Groups iOS应用就是基于它开发的。 React Native的原理是在JavaScript中用React...
React Native模块,使您可以注册一个全局错误处理程序,该错误处理程序可以捕获致命/非致命未捕获异常。 该模块有助于防止RN Apps突然崩溃,而不会向用户显示优美的消息。 在当前情况下: In DEV mode , you get ...
支持类选择器 支持css简写等 css注释 错误信息跟踪 自定义变量
挑战的目标是使它适应轻调试和基本的React Native开发工具。 您将调试一些错误,然后花一些时间研究开发工具。挑战的目标是熟悉React Native的样式和布局功能。使用带有可发射火箭的按钮的应用程序。 该按钮应具有...
react-native-app-link轻松深度链接到React Native中的其他应用程序。 如果用户手机上未安装该应用,请改为打开“ App Store”或“ Play Store”链接。 安装:npm i -S react react-native-app-link轻松深度链接到...
README Author E-mail gufei react-native-clear-app-cache 功能介绍 支持 iOS Android 清理app缓存 安装使用 npm install --save react-native-clear...react-native link react-native-clear-app-cache 运行示例
教你使用vscode 搭建react-native开发环境 问题 代码没有提示: 许多刚接触RN开发的非前端同学,都会问“哪个编辑器有智能提示?”。。。而对于前端同学来说,现在的日子已经好很多了,要什么自行车。 低级代码...
用于开发React Native应用程序的命令行工具 Haul替代了基于Webpack之类的开放工具构建react-native CLI。 它可以充当开发服务器或捆绑您的React Native应用进行生产。 @haul-bundler/cli和下其他包@haul-bundler...
本文介绍了ReactNative中使用Redux架构总结,分享给大家。具体如下: 使用Redux也有一段时间了。总结一下。 为什么要使用Redux? 背景: RN的state(可变,子组件不可见)和props(不可变,子组件可见)的设计,在...
React Native UI蓝图 开发像素完美的应用 没有更多的错误边距,文本大小和许多其他愚蠢的视觉错误。 React Native UI蓝图允许您实现像素完美的设计。 安装 您可以通过Yarn或NPM安装React Native UI蓝图。 # Yarn ...
LinearGradientCSS渐变使用Expo中的LinearGradient的React-Native CSS背景图像。 支持的背景:线性渐变重复线性渐变用法从CSS导入Gradient用于LinearGradient的线性CSS图像用于React-NativeCSS背景图像,来自Expo的...
但是, react-native-vector-icons在内部用于提供图标,因此您必须确保将其正确安装在项目中并正确链接,否则,将发生很多错误,例如无法解决“ FontAwesome' 。 用法 基本的 实际上,要使时间轴正常运行,
CircleCI演示React Native应用 在本地构建和运行 运行yarn安装JS依赖项。 运行yarn test运行JS测试(通过jest )。 Run yarn start在开发模式下运行应用程序。 您可以在手机的打开它。 当您将编辑保存到文件时,它...
react-native-bluetooch-escpos-printer 用于蓝牙ESC / POS... ##仍在开发中#可以支持Android / IOS安装步骤1 通过NPM安装签npm install react-native-bluetooth-escpos-printer --save 或通过github安装npm install ...
在React Native中从头开始重写原始应用程序。 重写的目的是使模块化的应用程序更容易更新。 用Flutter编写的原始应用程序存在与异步函数调用,React式组件布局有关的各种错误,并且缺少具有大量重复代码的模块化...
react-native-iot-wifi 无线网络配置。 该库已写入配置物联网设备。 在iOS 11上,Apple引入了用于WiFi配置的NEHotspotConfiguration类。 库在ios和android上支持相同的功能。1.0.0 可选在iOS和Android平台上强制绑定...
当我们在开发React Native应用时,如果在调试状态下,获取错误的异常信息是非常简单的,JS异常会立即在真机上显示(或者打开调试模式在浏览器控制台中显示),原生层的java闪退异常则可以通过Android Studio的Logcat...
react-native-render-html 基于( 的原始作品,为他提供了道具。... 使用我们的“测试优先”方法,该分支中的修复程序和功能将得到测试,因此遇到错误的几率很小。 如果您在预发行版中遇到任何问题,则无需填写完整的
该项目是通过引导的。 您将在下面找到一些有关如何执行常见任务的信息。... 在开发中代理API请求 配置代理后出现“无效的主机头”错误 手动配置代理 配置WebSocket代理 在开发中使用HTTPS 在服务器上生成动态<met