持續(xù)更新...
1.錯誤:java.lang.IllegalStateException: Native module RNFetchBlob...
java.lang.IllegalStateException: Native module RNFetchBlob tried to override RNFetchBlob for module name RNFetchBlob. If this was your intention, set canOverrideExistingModule=true

錯誤原因
./android/app/src/main/java 下的MainApplication.java文件中 有多個
new RNFetchBlobPackage()
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new RNFetchBlobPackage(),
new RNDeviceInfo(),
new RNFetchBlobPackage(),
new MyReactPackage()
);
}
2.錯誤:console.error:"React Native version mismatch".
android在debug模式下,出現(xiàn)如圖2情況,這種情況一般是新建項目時發(fā)生,該錯誤是官網(wǎng)錯誤所致,解決方案是:
//compile 'com.facebook.react:react-native:+'
#改為如下形式:
compile ('com.facebook.react:react-native:0.47.1'){force=true}

某些情況下,老的項目會出現(xiàn)如下錯誤:
The development server returned response error code:404
具體情況如圖3和圖4所示:


此bug原因和圖2的原因一致,解決方案一致。
另外,依賴的第三方module,如果compile 'com.facebook.react:react-native:+',亦要修改。
3.錯誤:Building and installing the app on the device (cd android && ./gradlew installDebug)"
在mac中新建或新導(dǎo)入的項目,執(zhí)行react-native run-android時,報一下錯誤。

解決方案:
若一切環(huán)境都配置好,且android手機設(shè)備已連接,那么可以嘗試以下來確保權(quán)限是否足夠
在項目的終端中添加以下命令:
chmod 755 android/gradlew
4. Error:Metro Bundler can't listen on port 8081
端口被占用
解決方法:
(1)找到占用端口的應(yīng)用
lsof -i :8081
(2) kill (40247 是應(yīng)用的 PID)
kill -9 40247
(3)然后執(zhí)行
npm start