Apo*_*har 4 android gradle react-native expo
我更新 android studio 和 gradle 版本后遇到了这个问题。这是我一步一步所做的:
首先我收到以下错误:
构建 Gradle 错误无法获取未知属性“编译”
我检查了 stackoverflow,它说用“实现”更改“编译”可以解决问题,所以我就这样做了。
另一个问题是 Maven 已被弃用。所以我使用了maven-publish而不是maven。
现在我收到以下错误:
12:24 PM Gradle 同步失败:在 org.gradle.api.Project 类型的项目“:expo-application”上找不到参数 [build_a5ye7ixpcm9qfmol93kt3ucl1$_run_closure4@73b8042a] 的方法 uploadArchives()。(17 秒 537 毫秒)
在 build.gradle(:expo-application) 的这部分代码中:
uploadArchives {
repositories {
mavenDeployer {
configuration = configurations.deployerJars
repository(url: mavenLocal().url)
}
}
}
Run Code Online (Sandbox Code Playgroud)
我对 android studio 或 java 不太熟悉。我只是使用 Android Studio 来配置 Android 的 React Native 应用程序。有人可以帮我解决这些问题吗..
谢谢
从Gradle 7.0开始,compile已被删除并取而代之api。当您更改compile为时implementation,您影响了库的传递属性。我不确定您在哪里读到“更改compile为”implementation是正确的答案,但事实并非如此。 api是更接近于编译的近似值。 这张图表给出了一个相当容易理解的解释。您应该更改implementation为api并确保您使用的是java-library插件而不是java插件。这应该允许 gradle 看到该UploadArchives方法。然而,这会引发一个新的问题。
从 Gradle 6.0 开始,UploadArchives它也与maven插件一起被弃用。您应该考虑使用该maven-publish插件。这将确保您的构建在未来的 Gradle 版本中继续工作。
所以,总而言之,确保你的插件看起来像这样
apply plugin: 'java-library'
apply plugin: 'maven-publish'
Run Code Online (Sandbox Code Playgroud)
并更新您的代码以使用publishing而不是UploadArchives. 有关这方面的更多信息可以在此处的当前 Gradle 用户指南中找到。
或者,您可以将 gradle 版本降级到 7.0 之前的版本,并忽略所有弃用警告。这是你的选择。
| 归档时间: |
|
| 查看次数: |
2785 次 |
| 最近记录: |