一、運行React Native項目遇到的坑
1澈缺、React Native項目連接不上 模擬器或者手機
Error:
Could not install the app on the device, read the error above for details
明明連接上模擬器或者手機了怎憋,但是RN project說不識別
方法:
在項目根目錄運行下面命令淌哟,提升權限
chmod 755 android/gradlew
2、Facebook本身的坑
[SyntaxError:Strict mode does not allow function declaration
in a lexically nested statement.]
方法:
修改React Native版本號拗小!
3、react-native-vector-icons build error
Error: react-native-vector-icons:compileReleaseJavaWithJavac
方法: 一般是用Windows的電腦樱哼,有個文件名長度的限制哀九,所以找到error中的文件,然后刪除搅幅,重新react-native run-android 就可以了阅束!
4、
error.png
解決方法:
cd android
sudo ./gradlew clean
5盏筐、react-native 項目運行在真機上面
com.android.ddmlib.InstallException: Failed to establish session
at com.android.ddmlib.Device.installPackages(Device.java:894)
........
at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
:app:installDebug FAILED
FAILURE: Build failed with an exception.
主要是國產機围俘,我用的紅米手機,解決辦法就是
打開開發(fā)者選項琢融,然后找到開啟MIUI優(yōu)化選項界牡,然后關閉他,重啟手機 就可以了
在React Native中控制控件的隱藏或者顯示是通過this.setState boolean變量來設置的宿亡,但是重復設置會導致這個Warnning,所以需要在setState之前要加一個判斷纳令,避免重復設置. 比如如下設置
if (!this.state.loaded){
this.setState({loaded: true});
}
------------------------------------分割線----------------------------------------
二挽荠、在現有Android項目中集成RN遇到的坑
1、在現有Android項目中初始化RN配置平绩,重新sync gradle出現下面錯誤
Error:Conflict with dependency 'com.google.code.findbugs:jsr305' in project ':app'. Resolved versions for app (3.0.0) and test app (2.0.1) differ. See http://g.co/androidstudio/app-test-app-conflict for details.
解決方法在:app/build.gradle里面添加
android{
configurations.all {
resolutionStrategy.force 'com.google.code.findbugs:jsr305:3.0.0'
}
}
然后重新sync gradle圈匆,問題解決了!捏雌!跃赚,但是too young too sample,還沒好遇到下面的問題了!纬傲!
2满败、
Error:Execution failed for task ':app:processDebugManifest'.
> Manifest merger failed with multiple errors, see logs
解決方案:rn最低支持Android4.1
minSdkVersion 16
targetSdkVersion 25