ReactNative开发-红屏\报错记录(持续更新...)

BUG描述

error: bundling failed: "Unable to resolve module react-native/Libraries/EventEmitter/EventEmitter

解决办法

1.先把node_modules目录下的react-native-root-siblings删除

2.再把根目录下package.json里的react-native-root-toast删除

3.然后重新安装npm install react-native-root-toast —save

1.进入/node_modules/react-native-root-siblings/lib/AppRegistryInjection.js

2.找到import EventEmitter from 'react-native/Libraries/vendor/emitter/EventEmitter’;并修改为import EventEmitter from 'react-native/Libraries/EventEmitter/EventEmitter';


BUG描述

A problem occurred configuring project ':app'.

Could not resolve all dependencies for configuration ':app:_debugApk'.

Configuration with name 'default' not found.

解决办法

待补充


BUG描述

Execution failed for task ':app:installDebug'.

com.android.builder.testing.api.DeviceException: com.android.ddmlib.InstallException: Failed to finalize session : INSTALL_FAILED_UPDATE_INCOMPATIBLE: Package com.gs2000_rn signatures do not match the previously installed version; ignoring!

解决办法

删除当前链接设备中已有的项目


BUG描述

Execution failed for task ':app:prepareGs2000_rnReactNativeImagePickerUnspecifiedLibrary'.

Could not expand ZIP 'C:\Users\user\WebstormProjects\gs2000e_rn\node_modules\react-native-image-picker\android\build\outputs\aar\react-native-image-picker-release.aar'.

解决办法

网络问题,删除node-modules目录,重新执行npm install


BUG描述

Execution failed for task ':app:mergeDebugResources'.

Error: Cannot create directory C:\Users\user\WebstormProjects\union\union\android\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values

解决办法

删除项目根目录下\android\app的build文件夹即可


BUG描述

What went wrong:

Execution failed for task ':app:installRelease'.

com.android.builder.testing.api.DeviceException: com.android.ddmlib.InstallException: Failed to finalize session : INSTALL_FAILED_UPDATE_INCOMPATIBLE: Package com.union signatures do not match the previously installed version; ignoring!

解决办法

这是由于正在安装的APP与已安装再手机上的APP冲突引起的。直接删除手机上的APP即可。


BUG描述

*What went wrong:

A problem occurred configuring project ':app'.

SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.

解决办法

项目缺少android环境变量,从其他原生android项目根目录下复制一份local.properties文件到RN项目的android目录下即可!


BUG描述

发布新的热更新版本时出现问题

Cannot find module 'metro-bundler/src/babelRegisterOnly

解决办法

根据问题查找得知是在高版本(0.52)以上在metro-bundler引用的路径错了。将node_modules\react-native-update\local-cli\lib\bundle.js的439行种的metro-bundler改成metro可成功运行![参考文献


BUG描述

SyntaxError:Strict mode does not allow function declarations in a lexically nested statement.

react-native的源码问题,在use strict严苛模式下,不允许如上的方式声明函数,会编译不通过。

解决办法

将react-native版本改成0.38.0或以上。


BUG描述

A problem occurred configuring root project 'one'.

Could not resolve all dependencies for configuration ':classpath'.

Could not download builder.jar (com.android.tools.build:builder:2.2.3)

Could not get resource 'https://jcenter.bintray.com/com/android/tools/build/builder/2.2.3/builder-2.2.3.jar'.

Could not GET 'https://jcenter.bintray.com/com/android/tools/build/builder/2.2.3/builder-2.2.3.jar'.

Read timed out

解决办法

网络异常导致,保证网络的稳定下再次尝试基本可以解决


BUG描述

SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.

解决办法

SDK路径无效!

1.可以使用Android Studio打开该项目的android项目,Android Studio就会自动校正

2.也可以打开local.properties文件,手动修改SDK路径


BUG描述

运行项目出现unable to load script from assets 'index.android.bundle',

unable to load script from assets 'index.android.bundle'错误

如图所示:

解决办法

1.进入项目的根目录

2.在终端输入

mkdir android/app/src/main/assets

3.继续在终端输入

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


BUG描述

Error: Validation error
    at /Users/lee/RNWorkStation/Demo/node_modules/react-native-update/local-cli/lib/api.js:8:27
    at Generator.next (<anonymous>)
    at step (/Users/lee/RNWorkStation/Demo/node_modules/react-native-update/local-cli/lib/api.js:82:191)
    at /Users/lee/RNWorkStation/Demo/node_modules/react-native-update/local-cli/lib/api.js:82:361
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:189:7)

解决办法

已经上传过同样版本号的ipa,重新上传需要修改版本号

[问题参考](https://github.com/reactnativecn/react-native-pushy/issues/143

  • android平台:修改根目录/android/app/build.gradle下的versionCodeversionName.例如:

    versionCode 2
    versionName "1.0.02"
    
  • ios平台:(待添加)

BUG描述

* What went wrong:
Could not resolve all files for configuration ':react-native-code-push:_internal_aapt2_binary'.
> Could not resolve com.android.tools.build:aapt2:3.2.1-4818971.
  Required by:
      project :react-native-code-push
   > Could not resolve com.android.tools.build:aapt2:3.2.1-4818971.
      > Could not get resource 'https://jcenter.bintray.com/com/android/tools/build/aapt2/3.2.1-4818971/aapt2-3.2.1-4818971.pom'.
         > Could not HEAD 'https://jcenter.bintray.com/com/android/tools/build/aapt2/3.2.1-4818971/aapt2-3.2.1-4818971.pom'.
            > Connect to 127.0.0.1:1087 [/127.0.0.1] failed: Connection refused (Connection refused)

解决办法

systemProp.https.proxyPort=``1080
systemProp.http.proxyHost=``127.0``.``0.1
systemProp.https.proxyHost=``127.0``.``0.1
systemProp.http.proxyPort=``1080

gradle.properties文件中使用了代理,删除gradle.properties中的代理以及计算机用户目录下的.gradle文件夹中的代理即可。

BUG描述

undefined is not a function (evaluating '_react.default.createContext(null)')
<unknown>
    Context.js:10:53
loadModuleImplementation
    require.js:174:12
guardedLoadModule
    require.js:126:36
_require
    require.js:110:20
<unknown>
    Provider.js:16:23
loadModuleImplementation
    require.js:174:12
guardedLoadModule
    require.js:126:36
_require
    require.js:110:20
<unknown>
    index.js:7:47
loadModuleImplementation
    require.js:174:12
guardedLoadModule
    require.js:126:36
_require
    require.js:110:20
<unknown>
    index.js:5
loadModuleImplementation
    require.js:174:12
guardedLoadModule
    require.js:126:36
_require
    require.js:110:20
<unknown>
    index.android.js:1:8
loadModuleImplementation
    require.js:174:12
guardedLoadModule
    require.js:119:45
_require
    require.js:110:20
global code

解决办法

这是由于react版本引起的,猜测可能是react版本与引入react-redux兼容性问题所导致。

引起BUG的环境:

"react": "16.0.0-alpha.12",
"react-native": "0.48.1",
"react-navigation": "1.0.0-beta.13",
"react-redux": "^6.0.0",
"redux": "^4.0.1",
"redux-logger": "^3.0.6",
"redux-thunk": "^2.3.0"

消除BUG的环境:(降低了react-redux版本)

"react": "16.0.0-alpha.12",
"react-native": "0.48.1",
"react-navigation": "1.0.0-beta.13",
"react-redux": "5.0.5",
"redux": "^4.0.1",
"redux-logger": "^3.0.6",
"redux-thunk": "^2.3.0"

BUG描述

执行react-native run-android后提示:

leedeMac-mini:RepairUnion lee$ react-native run-android
Scanning 688 folders for symlinks in /Users/lee/RNWorkStation/RepairUnion/node_modules (8ms)
Starting JS server...
Building and installing the app on the device (cd android && ./gradlew installDebug)...
Could not install the app on the device, read the error above for details.
Make sure you have an Android emulator running or a device connected and have
set up your Android development environment:
https://facebook.github.io/react-native/docs/android-setup.html

解决办法

1.配置全局环境变量

$ vim ~/.bash_profile
$ export ANDROID_HOME="/Users/[your name]/Library/Android/sdk/android-sdk_r24.2" # 以实际位置为准
$ source ~/.bash_profile # 立即生效

2.配置权限

如果配置环境后不可以运行 可能是无权限运行,在项目下运行 就是为android文件夹下的gradlew命令添加权限, **在根目录下执行 chmod 755 android/gradlew,本次就是用这个方法解决 **

3.项目中android目录下新建文件local.properties,并添加如下内容:

sdk.dir=/Users/[your name]/Library/Android/sdk/android-sdk_r24.2

BUG描述

Expected a component class, got [object Object].

解决办法

类名必须大写。检查引入的类是否有小写存在。

image.png
image.png

BUG描述

com.android.builder.testing.api.DeviceException: com.android.ddmlib.InstallException: Failed to install all

解决办法

安装错误: Gradle 的编译版本过高, 不兼容部分5.0+手机, 需要降低版本为 1.3
有两种解决办法,一是降低gradle的build版本,改为1.2.3;另一种是升级你的React-Native至最新版本。
这里提供第一种方法:
1.打开 React Native 的项目, 修改最外层工程的 build.gradle 配置, 降低 gradle 的 build 为1.2.3版本
2.修改Gradle的Wrapper版本,需要修改android/griddle/wrapper/grade-wrapper.properties文件:

classpath 'com.android.tools.build:gradle:1.2.3' // 修改1.2.3
distributionUrl=https\://services.gradle.org/distributions/gradle-2.2-all.zip

BUG描述

com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process ‘command ‘C:\Program Files\Java\jdk1.8.0_77\bin\java.exe” finished with non-zero exit value 2 

解决办法

1.Builde→rebuild project
2、如果第一步不行的话,那就是因为jar包重复了,检查我们的libs文件夹中是否有不使用的jar包,或者
重复的jar包,delete掉他们。


BUG描述

node_modules/react-native/Libraries/WebSocket/libfishhook.a'

解决办法

  • 1.在Xcode中找到RCTWebSocket.xcodeproj文件

    image.png
  • 2.找到Build Phases的Link Binary With Libraries, 点击减号去掉libfishhook.a引用

    image.png
  • 3.再加回去: 点加号把libfishhook.a引用

    image.png
  • 4.clean build 以及重新编译,OK解决!


BUG描述

":CFBundleIdentifier", Does Not Exist

解决办法

  • 1.打开Project settings
image.png
  • 2.点击Advanced按钮
image.png
  • 3.选择Custom,然后点击下拉选择Relative to Workspace

  • 4.修改Build/Products 为 build/Build/Products

image.png
  • 5.clean build 以及重新编译,OK解决!
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342

推荐阅读更多精彩内容

  • 在学习React Native的过程中,相信对于一个App开发工程师,没有充分的学习过前端开发技术的同学来说,顺利...
    简而精阅读 1,740评论 1 0
  • 原文地址:https://medium.com/airbnb-engineering/react-native-a...
    莫寂岚阅读 3,237评论 0 9
  • 我很焦虑,我总是感觉自己无能为力,感觉自己还是不够努力,知识点背了一遍又一遍,却还是记不住,一道道的做题,却总是不...
    黎沫yan阅读 95评论 0 1
  • 她的纤细指尖滑过一排书脊 没有停留在上面 她缓缓走出书摊 没入人群 我的目光断了线索 看书的人被窗棂隔着一份风雅 ...
    朴二雄阅读 653评论 0 3
  • 不记得从什么时候起 我偷偷地种下一颗种子 在黑夜深处,在无人经过的角落 我只能在这里,在这个地方耕作! 白天鸟儿很...
    乡村诗人阅读 246评论 1 7