我创建了一个新的应用程序,并插入了一个旧的代码,当我构建应用程序时,出现了这个错误:
脚本**'C:\Users\nameuser\Desktop\nameapp\node_modules@react-native-community\cli-platform-android\native_modules.gradle'行:191
出了什么问题:
评估设置“*nameapp *”时出现问题。
无法确定当前字符,它不是字符串,数字,数组或对象
当前读取的字符是'i',int值为105
无法确定当前字符,它不是字符串,数字,数组或对象
第1行
索引号0
info运行“react-native --help”以查看所有可用命令的列表。
通过react-native info**命令,我得到了当前的情况:
info
React Native Environment Info:
System:
OS: Windows 10
CPU: (8) x64 Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
Memory: 6.46 GB / 15.85 GB
Binaries:
Yarn: 1.15.2 - C:\laragon\bin\nodejs\node-v11\yarn.CMD
npm: 6.12.0 - C:\Program Files\nodejs\npm.CMD
IDEs:
Android Studio: Version 3.5.0.0 AI-191.8026.42.35.5900203
而在package.json上:
{
"name": "nameapp",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest"
},
"dependencies": {
"@react-native-community/cli-platform-android": "^2.9.0",
"axios": "^0.18.0",
"haversine": "^1.1.0",
"moment": "^2.22.2",
"react": "16.6.3",
"react-native": "^0.59.8",
"react-native-actionsheet": "^2.4.2",
"react-native-auto-height-image": "^1.1.0",
"react-native-cached-image": "^1.4.3",
"react-native-cli": "^2.0.1",
"react-native-fbsdk": "^0.8.0",
"react-native-global-font": "^1.0.2",
"react-native-google-places": "^3.0.5",
"react-native-image-crop-picker": "^0.24.1",
"react-native-image-pan-zoom": "^2.1.10",
"react-native-image-placeholder": "^1.0.14",
"react-native-iphone-x-helper": "^1.2.0",
"react-native-keyboard-manager": "^4.0.13-10",
"react-native-maps": "github:react-community/react-native-maps",
"react-native-maps-super-cluster": "^1.4.1",
"react-native-modal-datetime-picker": "^5.1.0",
"react-native-open-maps": "^0.3.3",
"react-native-progress": "^3.4.0",
"react-native-push-notification": "^3.1.2",
"react-native-router-flux": "^4.0.6",
"react-native-share": "^1.2.1",
"react-native-snap-carousel": "^3.7.4",
"react-native-swiper": "^1.5.13",
"react-native-vector-icons": "^4.6.0",
"react-native-view-shot": "^2.5.0",
"react-redux": "^5.0.7",
"redux": "^3.7.2",
"redux-persist": "^4.10.1",
"redux-persist-transform-filter": "0.0.15",
"redux-thunk": "^2.2.0"
},
"devDependencies": {
"babel-jest": "23.6.0",
"jest": "23.6.0",
"metro-react-native-babel-preset": "0.51.1",
"react-test-renderer": "16.6.3"
},
"jest": {
"preset": "react-native"
},
"rnpm": {
"assets": [
"./src/fonts"
]
}
}
谢谢你的帮助
7条答案
按热度按时间mqxuamgl1#
我不得不删除
app\build\intermediates\signing_config\debug\out\signing-config.json
,现在它工作了。参考:https://gitmemory.com/issue/facebook/react-native/25936/517993846
mnowg1ta2#
构建过程执行:
npx --quiet react-native config或npx.cmd --quiet react-native config
如果在项目的根目录中执行该命令,将生成JSON输出(如果一切都配置正确)。
然后,JSON输出在您引用的gradle脚本中解析。当配置不正确时,npx --quiet react-native config将不会生成任何内容,或者输出无效。因此,JSON解析(第191行)将失败。
调用'npx --quiet react-native config'的整个机制在最新版本的react-native中使用,因此它会自动'绑定'您在package.json中拥有的所有react native包到您的Android java应用程序中。
不幸的是,没有一个“变通办法”可以帮助您解决这个问题。您可能有一个missmatch(或不正确的配置)
在这一点上,我能推荐的最好的事情是升级到你能负担得起的任何最新的React版本,然后使用
https://github.com/react-native-community/rn-diff-purge
要弄清楚所有的变化,你需要使上述配置文件之间的版本,它的工作,和版本的RN,它停止工作。
如果全部失败,尝试调试native_modules. gradle。转到那里,并插入:
在初始化reactNativeConfigOutput字符串变量的语句之后。
这个log语句将打印出这个自动链接机器执行的命令和命令的输出。
所以当你运行gradlew build
您应该会看到一些输出。
在我的例子中,命令(cmd)是:
reactNativeConfigOutput是:
你可以看到输出是not一个有效的json,第一个字符是'i',JSON输出解析(在native_modules.gradle中使用)抛出了一个错误,抱怨'i'不是一个有效的字符
68bkxrlz3#
我花了一段时间在这上面。我最终只是删除了以下2个文件,清理和重建。
wrrgggsh4#
问题是
react-native-community@^2.0.0
只与react-native@^0.59.0
兼容。您必须升级
react-native
或降级react-native-community
9ceoxa925#
我在从GitHub转储代码后遇到了类似的问题。我发现
android/app/src/AndroidManifest.xml
文件中存在合并冲突。因此,每当我试图重建Android应用程序时,都会出现一些奇怪的新字符的解析错误。
x7yiwoj46#
在我的例子中,当我删除react-native-firebase包时,这个问题就出现了。我从react-native-config.js中删除了依赖项,所以如果在删除包时发生这种情况,请确保从文件夹中删除与此包相关的所有内容
wz1wpwve7#
在我的情况下,在Android Studio中升级等级插件后,我注意到AndroidManifest.xml中的包被删除了。把它放回去解决了它。
升级前:
升级后:
只需在升级版本中添加软件包名称: