React Native打包apk错误: 找不到符号import com.facebook.react.ReactNativeHost;

前言

打包apk的时候,遇到一个很神奇的问题,就是报错说找不到符号

MainApplication.java:6: 错误: 找不到符号import com.facebook.react.ReactNativeHost;

而且连续报了8个错误,后来查阅了很多文档,发现只有英文的帖子里有解决方法,最后拜读了一下,下面为大家解答一下

问题详解

很明显,这种错误是没有导入相应的包所导致的。所以很大的可能会是包管理工具的配置问题。查看了一下英文的帖子和文档之类的东西,发现一位大神是这么说的,Android文档上说,每个maven仓库链接都应该有自己单独的maven标签。所以下面这种写法是不正确的

maven {
    // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
    url "$rootDir/../node_modules/react-native/android"
    url 'some new extra repo'
}

而应该写成:

maven {
    // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
    url "$rootDir/../node_modules/react-native/android"
}
maven {
    url 'some new extra repo'
}

感谢这位大哥的解答,下面贴上链接,是英文的帖子,大家有兴趣可以去看看:

https://www.sogou.com/link?url=hedJjaC291MuovqUW6cN1qs7Ln7z_Hzuc-JLqoyZRNNpFMxUcHLK7J9u6DWTaHQhKblx0XCFjpaML3JnYIMZ_P-9LJ1yTWhAfxcoImtGwAGt5pUc3zy0dg..

问题解决

对比上面的详解,其实发现我错误的原因,是因为之前导入了阿里云的maven仓库,所以直接注释掉了

maven {
    // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
    url "$rootDir/../node_modules/react-native/android"
}

也就直接导致了上面的问题。在打包react native程序时,上面这个仓库地址是一定要保留的,切记。

当然也可能是maven标签里包含了多个maven仓库的链接,拆分出来就好,解决思路参照上文。



阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页