1.使用require产生的路径错误
这个应该是属于文件路径错误导致的。
当我使用require('image!pintu')语句,就会出现这个错误。
或者在index.android.js以外的文件内使用require("./data/moviedata.json")也会出现这个错误,
然后http://localhost:8081/index.android.bundle?platform=android 这个网址也会报错。
第一种情况可能是从0.14版本开始引用静态图片等方式改变了,不再使用require('image!logo')的方式
第二种情况,只要将路径改为require("../data/moviedata.json")即可(没错,就多了一个".").
2.Cannot call a class as a function
这个大多因为写错、写漏单词引起的,有点麻烦。我就简述一下我的情况:
我是由于写漏一个"new"导致的错误。
3.StaticRenderer.render():A valid React element(or null)...
出现这种是因为:该写return的函数没有写return.
写上return后问题就消失了。
4.Navigator is deprecated and has been removed from this package.
具体意思是,Navigator组件已经从react-native这个包中移除了,现在要通过安装并导入react-native-deprecated-custom-components这个包来使用Navigator。具体步骤如下:
1.找到项目根目录,在控制台输入:
npm i react-native-deprecated-custom-components –save
(ps.我在项目根目录直接会失败,然后我在上级目录(ReactDemo)先安装一次,再进入根目录(AwesomeProject)安装,这下才成功。原因我不晓得。)
2.在导入react-native-deprecated-custom-components
通过:importNavigatorfrom'react-native-deprecated-custom-components';
3.将之前的Navigator改为Navigator.Navigator
5.com.android.builder.testing.api.DeviceException: com.android.ddmlib.InstallException
当时我更改了电脑的密钥,把我的win10家庭版升级到了win10专业版(期间来来回回更改了很多设置),
然后我将项目运行到模拟器上时,出现了这个错误。
我查了一下网上的资料,可能是gradle文件出错。我回想了一下,当初我曾更改过两个文件的代码(如下两行)
classpath 'com.android.tools.build:gradle:1.2.3' (build.gradle中改动过的代码)
distributionUrl=https\://services.gradle.org/distributions/gradle-2.2-all.zip (gradle-wrapper.properties中改动过的代码)
随后我新建了一个工程,把这两行代码改成新工厂的一样,就可以正常运行了(具体操作如下)
解决:在工程的android文件夹下找到build.gradle和gradle-wrapper.properties文件(如下图,app文件夹是我自己创建的)
然后将build.gradle的classpath改为:com.android.tools.build:gradle:2.2.3
将gradle-wrapper.properties的distributionUrl改为:https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
不过这么做,可能会无法在国产手机上运行。
暂时没找到完美的解决办法
6.java.io.IOException: Could not delete path'D:\Work\ReactDemo \AwesomeProject\android\app\build\XXXXXXXXXXXXX
手动删除android\app\build下的内容,在重新运行就好了。