React Native 踩坑(1)

1、android真机调试连不上打包服务的问题
     adb reverse tcp:8081 tcp:8081

2、如果build 成功了,但是chrome 不启动或者是改变界面不渲染:
    查看手机wifi 和电脑wifi保证是否相同的(公司的1和3是相同的,不能是1和1相连),之后再Reload
   
3、导入第三方插件报operation not permitted:
   (1)用管理员权限操作此命令:
     链接:http://www.cnblogs.com/haochuang/p/5796284.html
   (2)删除根目录下的npm-debug文件

4、如何查看导入的第三方库导入成功?
     在package.json 文件查看是否已经有了依赖

5、adb 无法启动?
    执行adb start-server.如果失败,kill掉 360手机助手,再重新执行命令

6、拷贝的代码第一次导入时报sdk不一样:
    用Android Studio 导入Android包,会自动将文件改回来,不用手动更改。

7、set canOverrideExistingModule  = true
   查看MyApplication.java文件,Arrays.<ReactPackage>asList()括号内有方法重复。

8、react native 清除缓存:
     npm start -- --reset-cache

9、RawText ” ” must be wrapped in an explicit component.
     控件有问题,中间加了空格导致的

10、redux 执行是异步的,js 是单线程的。

11、异常:to transition from state `RESPONDER_INACTIVE_PRESS_IN` to `RESPONDER_ACTIVE_LONG_PRESS_IN`, which is not supported. This is most likely due to `Touchable.longPressDelayTimeout` not being cancelled.
     解决: 在TouchableOpacity或者TouchableHighlight  里面套一层view

12、新建sagas, reducers 等文件请求不执行:
 解决:在js目录下的sagas, reducers 中进行注册;

13、flatList 报错: React.Children.only expected to receive a single React element child.
  解决:renderItem 控件用view 包裹


14、android 打包命令:
  在/android/目录中执行gradlew assembleRelease命令,打包后的文件在 android/app/build/outputs/apk目录中

15、android打包遇到问题:
   解决:如果打包碰到问题可以先执行 gradle clean 清理一下。而且必须要开studio.
 如果出现报 unable to process incoming event 'ProcessComplete'  <ProgressCompleteEvent>这种错误
需要在在混淆文件proguard-rules.pro中加入
-keep class android.text {* ;}
-dontwarn android.text.*

16、如何上述办法仍然不行:
  gradlew.bat assembleRelease --console plain

备注:mac下打包命令:
cd android && ./gradlew assembleRelease
或者
./gradlew assembleRelease

17、justifyContent: 横向居中    alignItems:竖向居中------写在父布局的view 中

18、对于app卸载后重新安装没有hot Reloading:  
     (1)点击Dev Settings-->设置IP:8081
      (2)点击 Enable Hot Reloading

19、Android状态栏的“沉浸式”设置无效?

例如:

<StatusBar
     backgroundColor='blue'
     translucent  = {true}
/>

经过我的尝试,hidden属性是有效,但translucent的效果没有出现。  不过有另外解决方法:
在styles.xml加上:

     <style name="ImageTranslucentTheme" parent="Theme.AppCompat.Light.NoActionBar">
          <item name="android:windowTranslucentStatus">true</item>
          <item name="android:windowTranslucentNavigation">true</item>
     </style>

在manifest的activity加上:
android:theme="@style/ImageTranslucentTheme"


20、could not get batchedbridge, make sure your bundle is packaged correctly
  解决:点击菜单键,选择Dev Settings,点击Dubug server host & port for device,设置IP和端口,cmd命令ipconfig找出自己的本机ip后面接8081端口,然后返回刷新界面或者重新运行,ok了

22、SyntaxError: Strict mode does not allow function declarations in a lexically nested statement
  解决:更新package.json 中的react 、react-native 的版本号,然后执行npm update

23、 text 文字内容多了显示有问题?
    设置最大宽度

24、对齐方式:
  alignSelf: auto|stretch|center|flex-start|flex-end|baseline|initial|inherit;
  text-align:left, right , center , justify, inherit


25、Image显示圆角头像,borderRadius 是宽或者高的一半

26、android 在mac上打包出现异常:Could not list contents of '/third-party/glog-0.3.4/test-driver' - Android Release #14464

 解决办法:执行unlink node_modules/react-native/third-party/glog-0.3.4/test-driver,之后再重新打包

27、mac 模拟器键盘切换显示的快捷键:
command+shift+k

28、xcode 打包流程:
  解决: 在ios目录下点击有蓝色A图标的文件(PolyRnYuman.xcworkspace),打开xCode,选中Generic IOS Device,点击-Product—>Achieve


29、android 华为手机虚拟导航栏遮挡应用底部的问题:
  解决:很可能是应用为了解决沉浸式状态栏的问题添加了以下语句:
<item name="android:windowTranslucentNavigation">true</item>
去掉此语句,同时添加语句android:fitsSystemWindows=”true” 即可实现应用根据虚拟导航栏的显示隐藏自适应。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值