英文:
React Native(0.72.3) Android build fails at App Center
问题
我将为您翻译以下内容:
我将AppCenter添加到初始的React Native项目中,但在构建Android应用程序时遇到了错误。
我按照以下步骤进行操作:
- 在AppCenter上为Android和React Native创建一个新项目。
- 使用
npx react-native init AppCenterTest
创建一个新项目。 - 按照App Center的步骤进行操作:
yarn add appcenter appcenter-analytics appcenter-crashes --save-exact
- 在android/app/src/main/assets/目录下创建一个名为appcenter-config.json的新文件,并填入我的密钥。
- 推送到GitHub。
- 设置构建配置。
- 保存并运行构建。
在构建过程中的Gradle任务期间,我遇到了以下错误:
这个版本的亮点有:
- Kotlin DSL的改进
- 配置缓存的第一次构建中的细粒度并行性
- 可配置的Gradle用户主目录缓存清理
更多详情请参阅https://docs.gradle.org/8.0.1/release-notes.html
正在启动Gradle Daemon(后续构建将更快)
Gradle 8.0.1
Gradle 8.0.1
> 配置项目:gradle-plugin
在detachedConfiguration1中解析org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin:1.7.22
在:classpath中解析org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin:1.7.22
位于:的项目react-native-gradle-plugin要么不是Android应用项目,要么构建版本尚未设置为覆盖。跳过...
> 配置项目:
位于:的项目AppCenterTest要么不是Android应用项目,要么构建版本尚未设置为覆盖。跳过...
FAILURE: 构建失败。
* 出现了什么问题:
配置根项目'AppCenterTest'时出现问题。
> 无法确定null的依赖项。
> 无法解析配置':classpath'的所有任务依赖项。
> 找不到com.android.tools.build:gradle:。
所需的是:
项目:
> 无法解析com.facebook.react:react-native-gradle-plugin。
所需的是:
项目:
> 找不到匹配的项目:gradle-plugin的变体。消费者配置为在运行时使用与Java 8兼容、打包为jar文件的库及其外部声明的依赖项,以及带有值'8.0.1'的属性'org.gradle.plugin.api-version',但:
- 变体'apiElements'的能力com.facebook.react:react-native-gradle-plugin:unspecified声明了一个打包为jar文件的库及其外部声明的依赖项:
- 不兼容,因为此组件声明了一个用于编译时使用的组件,与Java 11兼容,而消费者需要一个用于运行时使用的组件,与Java 8兼容
- 其他兼容属性:
- 不提供关于org.gradle.plugin.api-version的信息(需要'8.0.1')
- 变体'mainSourceElements'的能力com.facebook.react:react-native-gradle-plugin:unspecified声明了一个组件及其外部声明的依赖项:
- 不兼容,因为此组件声明了一个类别为'verification'的组件,而消费者需要一个库
- 其他兼容属性:
- 不提供关于其目标Java版本的信息(需要与Java 8兼容)
- 不提供关于其元素的信息(需要将它们打包为jar文件)
- 不提供关于org.gradle.plugin.api-version的信息(需要'8.0.1')
- 不提供关于其使用方式的信息(需要运行时)
- 变体'runtimeElements'的能力com.facebook.react:react-native-gradle-plugin:unspecified声明了一个用于运行时使用的库,打包为jar文件,及其外部声明的依赖项:
- 不兼容,因为此组件声明了一个与Java 11兼容的组件,而消费者需要一个与Java 8兼容的组件
- 其他兼容属性:
- 不提供关于org.gradle.plugin.api-version的信息(需要'8.0.1')
- 变体'testResultsElementsForTest'的能力com.facebook.react:react-native-gradle-plugin:unspecified:
- 不兼容,因为此组件声明了一个类别为'verification'的组件,而消费者需要一个库
- 其他兼容属性:
- 不提供关于如何找到其依赖项的信息(需要其外部声明的依赖项)
- 不提供关于其目标Java版本的信息(需要与Java 8兼容)
- 不提供关于其元素的信息(需要将它们打包为jar文件)
- 不提供关于org.gradle.plugin.api-version的信息(需要'8.0.1')
- 不提供关于其使用方式的信息(需要运行时)
* 尝试:
> 使用--stacktrace选项运行以获取堆栈跟踪。
> 使用--info或--debug选项运行以获取更多日志输出。
> 使用--scan运行以获取完整的洞察。
* 获取更多帮助,请访问https://help.gradle.org
BUILD FAILED in 2m 36s
Error: /Users/runner/work/1/s/android/gradlew failed with return code: 1
at ChildProcess.<anonymous> (/Users/runner/work/_tasks/Gradle_8d8eebd8-2b94-4c97-85af-839254cc6da4/1.128.0/node_modules/vsts-task-lib/toolrunner.js:569:30)
at emitTwo (events.js:106:13)
at ChildProcess.emit (events.js:191:7)
##[error]Error: /Users/runner/work/1/s/android/gradlew failed with return code: 1
at maybeClose (internal/child_process.js:920:16)
at Socket.<anonymous> (internal/child_process.js:351:11)
at emitOne (events.js:96:13)
at Socket.emit (events.js:188:7)
at Pipe._handle.close [as _onclose] (net.js:509:12)
##[section]Finishing: Gradle Task
这是npx react-native info
的结果:
系统:
操作系统:macOS 13.4.1
CPU:(8) arm64 Apple M1
内存:63.02 MB / 16.00 GB
Shell:
版本:"5.9"
路径:/bin/zsh
二进制文件:
Node:
版本:18.16.1
路径:~/.nvm/versions/node/v18.16.1/bin/node
Yarn:
版本:1.22.19
路径:~/.nvm/versions/node/v18.16.1/bin/yarn
npm:
版本:9.5.1
路径:~/.nvm/versions/node/v18.16.1/bin/npm
Watchman:
版本:2023.07.10.00
路径:/opt/homebrew/bin/watchman
管理器:
CocoaPods:
版本:1.12.1
路径:/Users/dev/.asdf/shims/pod
SDK:
iOS SDK:
平台:
- DriverKit 22.4
- iOS 16.4
- macOS 13.3
- tvOS 16.4
- watchOS 9.4
Android SDK:未找到
IDE:
Android Studio:2022.2 AI-222.4459.24.2221.10121639
Xcode:
版本:14.3/14E222b
路径:/usr/bin/xcodebuild
语言:
Java:
版本:19.0.2
路径:/usr/bin/javac
Ruby:
版本:2.7.5
路径:/Users/dev/.asdf/shims/ruby
npm软件包:
"@react-native-community/cli":未找到
react:
已安装:18.2.0
需要:18.2.0
react-native:
已安装:0.72.3
需要:0.72.3
react-native-macos:未找到
npm全局软件包:
"*react-native*":未找到
Android:
hermesEnabled:true
newArchEnabled:false
iOS:
hermesEnabled:true
newArchEnabled:false
这是原始项目,我没有添加任何库。
在本地上,./gradlew assembleRelease
可以正常工作,我也能够使用Android Studio构建APK文件。
英文:
I added AppCenter to the initial React Native Project and I got the error while building the Android app.
I followed these steps:
- Create a new project for Android and React Native at AppCenter.
- Created a new project using
npx react-native init AppCenterTest
. - Followed the steps from App Center.
yarn add appcenter appcenter-analytics appcenter-crashes --save-exact
- Create a new file with the filename appcenter-config.json in android/app/src/main/assets/ with my secret key
- Push to github
During the Gradle task in the build process, I get the following error:
Here are the highlights of this release:
- Improvements to the Kotlin DSL
- Fine-grained parallelism from the first build with configuration cache
- Configurable Gradle user home cache cleanup
For more details see https://docs.gradle.org/8.0.1/release-notes.html
Starting a Gradle Daemon (subsequent builds will be faster)
Gradle 8.0.1
Gradle 8.0.1
> Configure project :gradle-plugin
Resolved org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin:1.7.22 in detachedConfiguration1
Resolved org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin:1.7.22 in :classpath
Project react-native-gradle-plugin at : is either no Android app project or build version has not been set to override. Skipping...
> Configure project :
Project AppCenterTest at : is either no Android app project or build version has not been set to override. Skipping...
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring root project 'AppCenterTest'.
> Could not determine the dependencies of null.
> Could not resolve all task dependencies for configuration ':classpath'.
> Could not find com.android.tools.build:gradle:.
Required by:
project :
> Could not resolve com.facebook.react:react-native-gradle-plugin.
Required by:
project :
> No matching variant of project :gradle-plugin was found. The consumer was configured to find a library for use during runtime, compatible with Java 8, packaged as a jar, and its dependencies declared externally, as well as attribute 'org.gradle.plugin.api-version' with value '8.0.1' but:
- Variant 'apiElements' capability com.facebook.react:react-native-gradle-plugin:unspecified declares a library, packaged as a jar, and its dependencies declared externally:
- Incompatible because this component declares a component for use during compile-time, compatible with Java 11 and the consumer needed a component for use during runtime, compatible with Java 8
- Other compatible attribute:
- Doesn't say anything about org.gradle.plugin.api-version (required '8.0.1')
- Variant 'mainSourceElements' capability com.facebook.react:react-native-gradle-plugin:unspecified declares a component, and its dependencies declared externally:
- Incompatible because this component declares a component of category 'verification' and the consumer needed a library
- Other compatible attributes:
- Doesn't say anything about its target Java version (required compatibility with Java 8)
- Doesn't say anything about its elements (required them packaged as a jar)
- Doesn't say anything about org.gradle.plugin.api-version (required '8.0.1')
- Doesn't say anything about its usage (required runtime)
- Variant 'runtimeElements' capability com.facebook.react:react-native-gradle-plugin:unspecified declares a library for use during runtime, packaged as a jar, and its dependencies declared externally:
- Incompatible because this component declares a component, compatible with Java 11 and the consumer needed a component, compatible with Java 8
- Other compatible attribute:
- Doesn't say anything about org.gradle.plugin.api-version (required '8.0.1')
- Variant 'testResultsElementsForTest' capability com.facebook.react:react-native-gradle-plugin:unspecified:
- Incompatible because this component declares a component of category 'verification' and the consumer needed a library
- Other compatible attributes:
- Doesn't say anything about how its dependencies are found (required its dependencies declared externally)
- Doesn't say anything about its target Java version (required compatibility with Java 8)
- Doesn't say anything about its elements (required them packaged as a jar)
- Doesn't say anything about org.gradle.plugin.api-version (required '8.0.1')
- Doesn't say anything about its usage (required runtime)
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 2m 36s
Error: /Users/runner/work/1/s/android/gradlew failed with return code: 1
at ChildProcess.<anonymous> (/Users/runner/work/_tasks/Gradle_8d8eebd8-2b94-4c97-85af-839254cc6da4/1.128.0/node_modules/vsts-task-lib/toolrunner.js:569:30)
at emitTwo (events.js:106:13)
at ChildProcess.emit (events.js:191:7)
##[error]Error: /Users/runner/work/1/s/android/gradlew failed with return code: 1
at maybeClose (internal/child_process.js:920:16)
at Socket.<anonymous> (internal/child_process.js:351:11)
at emitOne (events.js:96:13)
at Socket.emit (events.js:188:7)
at Pipe._handle.close [as _onclose] (net.js:509:12)
##[section]Finishing: Gradle Task
Here's the result from npx react-native info
System:
OS: macOS 13.4.1
CPU: (8) arm64 Apple M1
Memory: 63.02 MB / 16.00 GB
Shell:
version: "5.9"
path: /bin/zsh
Binaries:
Node:
version: 18.16.1
path: ~/.nvm/versions/node/v18.16.1/bin/node
Yarn:
version: 1.22.19
path: ~/.nvm/versions/node/v18.16.1/bin/yarn
npm:
version: 9.5.1
path: ~/.nvm/versions/node/v18.16.1/bin/npm
Watchman:
version: 2023.07.10.00
path: /opt/homebrew/bin/watchman
Managers:
CocoaPods:
version: 1.12.1
path: /Users/dev/.asdf/shims/pod
SDKs:
iOS SDK:
Platforms:
- DriverKit 22.4
- iOS 16.4
- macOS 13.3
- tvOS 16.4
- watchOS 9.4
Android SDK: Not Found
IDEs:
Android Studio: 2022.2 AI-222.4459.24.2221.10121639
Xcode:
version: 14.3/14E222b
path: /usr/bin/xcodebuild
Languages:
Java:
version: 19.0.2
path: /usr/bin/javac
Ruby:
version: 2.7.5
path: /Users/dev/.asdf/shims/ruby
npmPackages:
"@react-native-community/cli": Not Found
react:
installed: 18.2.0
wanted: 18.2.0
react-native:
installed: 0.72.3
wanted: 0.72.3
react-native-macos: Not Found
npmGlobalPackages:
"*react-native*": Not Found
Android:
hermesEnabled: true
newArchEnabled: false
iOS:
hermesEnabled: true
newArchEnabled: false
It's the raw project and I didn't add any libraries.
./gradlew assembleRelease
works fine on local and also I was able to build an APK using Android Studio.
1: https://i.stack.imgur.com/sCNOr.png
答案1
得分: 2
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论