如何启用stacktrace反应本机运行android命令?

如何启用stacktrace反应本机运行android命令?,android,gradle,react-native,stack-trace,Android,Gradle,React Native,Stack Trace,我正在通过react native run android运行一个react native项目。但是在构建过程中,它失败了,说明:react native device info:processReleaseResources失败了。这并没有提供太多信息,所以我尝试按照建议使用react native run android--stacktrace运行,但这不是一个可识别的命令 如何使用react native run android命令启用stacktrace/verbose日志记录 这是错误

我正在通过
react native run android
运行一个react native项目。但是在构建过程中,它失败了,说明
:react native device info:processReleaseResources失败了
。这并没有提供太多信息,所以我尝试按照建议使用
react native run android--stacktrace
运行,但这不是一个可识别的命令

如何使用
react native run android
命令启用stacktrace/verbose日志记录

这是错误的详细信息,它太短,在生成时无法理解:

:react-native-device-info:processReleaseResources FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':react-native-device-info:processReleaseResources'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Users\Brian\AppData\Local\Android\sdk\build-tools\23.0.1\aapt.exe'' finished with non-zero exit value 1

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: -12.542 secs
Package.json供参考:

{
  "name": "StarterKit",
  "version": "1.0.0",
  "private": true,
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest"
  },
  "jest": {
    "preset": "react-native",
    "setupFiles": [
      "<rootDir>/jest.setup.js"
    ],
    "transformIgnorePatterns": [
      "node_modules/(?!react-native|tcomb-form-native|apsl-react-native-button,react-native-device-info|react-clone-referenced-element)"
    ],
    "collectCoverage": true,
    "verbose": true
  },
  "dependencies": {
    "html-entities": "^1.2.0",
    "jwt-decode": "^2.1.0",
    "qs": "^6.3.0",
    "react": "15.4.2",
    "react-addons-shallow-compare": "^15.4.2",
    "react-native": "^0.40.0",
    "react-native-device-info": "^0.9.6",
    "react-native-elements": "^0.9.2",
    "react-native-google-analytics-bridge": "git+https://github.com/mcnamee/react-native-google-analytics-bridge.git",
    "react-native-router-flux": "^3.37.0",
    "react-native-side-menu": "^0.20.1",
    "react-native-tab-view": "0.0.48",
    "react-native-vector-icons": "^4.0.0",
    "react-redux": "^5.0.1",
    "redux": "^3.6.0",
    "redux-logger": "^2.7.0",
    "redux-thunk": "^2.1.0",
    "striptags": "^2.1.1",
    "tcomb-form-native": "^0.6.1"
  },
  "devDependencies": {
    "babel-core": "^6.17.0",
    "babel-eslint": "^7.1.0",
    "babel-jest": "18.0.0",
    "babel-preset-es2015": "^6.18.0",
    "babel-preset-react-native": "1.9.1",
    "babel-register": "^6.16.3",
    "eslint": "^3.9.1",
    "eslint-config-airbnb": "^14.0.0",
    "eslint-plugin-import": "^2.2.0",
    "eslint-plugin-jsx-a11y": "^3.0.2",
    "eslint-plugin-react": "^6.4.1",
    "invariant": "^2.2.2",
    "jest": "18.1.0",
    "jest-react-native": "^18.0.0",
    "react-test-renderer": "15.4.2"
  }
}

尝试使用
/gradlew assembleDebug
分别构建
react native device info
,并确保
react native device info
正常。我也有同样的问题,因为我的网络被阻塞,无法访问
jcenter


顺便说一句,
--stacktrace
应该作为
gradle
参数添加,我怀疑
react native
没有将其传递给
gradle
@EricHua23的答案基本正确,只是没有运行
/gradlew assembleDebug--stacktrace>,您应该运行
/gradlew.bat installDebug--stacktrace
,因为这是由
react native run android
实际运行的命令。(您希望获取其堆栈跟踪的一些错误只发生在安装/后期生成部分,而不是程序集部分)


另外,请确保在android文件夹中运行它。(因此,在运行gradlew命令之前,请在控制台中运行
cd-android

尝试
react native start


这将详细显示错误。

如果在Windows上运行,请在项目的根目录中运行以下命令:

 1. cd android 
 2. gradlew.bat installDebug --stacktrace

在我的ViroMedia示例应用程序中,我使用package.json文件作为shell命令的快捷方式:

{
  "name": "ViroSample",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "android": "react-native run-android --variant arrelease",
    "and_bundle": "react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res",
    "ios": "react-native run-ios",
    "gradle_build": "cd android && ./gradlew --stacktrace --info assembleRelease -x bundleArReleaseJsAndAssets",
    "gradle_install": "cd android && ./gradlew installArDebug --stacktrace --info",
    "test": "jest"
  },
  "dependencies": {
    "axios": "^0.19.0",
    "expo": "^35.0.0",
    "react": "16.8.3",
    "react-native": "^0.61.5",
    "react-viro": "2.15.0"
  },
  "devDependencies": {
    "@babel/core": "^7.5.5",
    "@babel/runtime": "^7.5.5",
    "babel-jest": "^24.8.0",
    "jest": "^24.8.0",
    "metro-react-native-babel-preset": "^0.55.0",
    "react-test-renderer": "16.8.3"
  },
  "jest": {
    "preset": "react-native"
  }
}
我从项目根目录(iMac bash shell)发出以下命令:

有关其他shell命令,请参见上面的脚本块

注意:在windows中,这是gradlew.bat


快乐编码:-)

我的笔记本电脑没有React Native atm,因此我无法为您测试它,但请查看以下链接:我想这是一个有用的回答。不幸的是,我对gradle不太熟悉,以至于我不知道如何让应用程序运行,以及如何在终端上显示日志。该命令会安装应用程序,但不会以交互方式运行。我可能缺少允许运行它的命令。
{
  "name": "ViroSample",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "android": "react-native run-android --variant arrelease",
    "and_bundle": "react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res",
    "ios": "react-native run-ios",
    "gradle_build": "cd android && ./gradlew --stacktrace --info assembleRelease -x bundleArReleaseJsAndAssets",
    "gradle_install": "cd android && ./gradlew installArDebug --stacktrace --info",
    "test": "jest"
  },
  "dependencies": {
    "axios": "^0.19.0",
    "expo": "^35.0.0",
    "react": "16.8.3",
    "react-native": "^0.61.5",
    "react-viro": "2.15.0"
  },
  "devDependencies": {
    "@babel/core": "^7.5.5",
    "@babel/runtime": "^7.5.5",
    "babel-jest": "^24.8.0",
    "jest": "^24.8.0",
    "metro-react-native-babel-preset": "^0.55.0",
    "react-test-renderer": "16.8.3"
  },
  "jest": {
    "preset": "react-native"
  }
}
yarn gradle_install