gradle “找不到方法”“< init>,

qv7cva1a  于 2022-11-14  发布在  其他
关注(0)|答案(5)|浏览(227)

问题:我目前正在使用Android StudioGradle编译github存储库(00-Evan/shattered-pixel-dungeon)中的代码,虽然我可以运行一些任务(尝试了'desktop:release'、'desktop:debug'),但Gradle拒绝正确同步,每次我尝试同步时,都会弹出一个错误日志:

FAILURE: Build failed with an exception.

* What went wrong:
'void org.apache.commons.compress.archivers.zip.ZipFile.<init>(java.nio.channels.SeekableByteChannel)'

* Try:
Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Exception is:
java.lang.NoSuchMethodError: 'void org.apache.commons.compress.archivers.zip.ZipFile.<init>(java.nio.channels.SeekableByteChannel)'
    at com.android.repository.util.InstallerUtil.unzip(InstallerUtil.java:99)

**重要提示:**我以前遇到过这个问题(编译此代码的上一版本时),当时下载了特定版本的SDK构建工具(如果我没记错的话,是30.0.0和26.0.0),这对我有所帮助,但现在已经没有帮助了。

其他使用此代码的人没有报告同样的问题,我似乎是唯一的一个。
也不知什么原因,android的任务似乎也不起作用,好像android工作室不认识它们:

Task 'release' not found in project ':android'.

 * Try:
Run gradle tasks to get a list of available tasks. 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.

我尝试过的

  • 清除缓存并重新启动Android Studio/我的PC
  • 启用/禁用不同的构建工具版本(参见“重要”部分)。目前,我已经尝试启用所有30.0.X和26.0.X版本,并禁用任何已启用的更新版本
  • 浏览了类似的Stackoverflow线程,但是它们要么似乎不适用于我的情况,要么没有包括足够的信息。Linklinklink
  • 卸载Android Studio并从头开始重新下载。
    其他信息:
  • Android Studio版本:Android工作室北极狐|2020.3.1补丁4(当前最新版本)
  • Gradle版本:7.2(我尝试使用7.1.1,但没有解决问题)
ojsjcaue

ojsjcaue1#

通常,当您安装android studio时,它将安装与现有项目不兼容的最新SDK和最新构建工具版本。
显示build.gradle中存在的00-Evan/shattered-pixel-dungeon
您应该尝试安装SDK版本30。SDK构建工具版本:30.0.X应该可以用。
对我来说,它是与SDK版本30和构建工具版本30. 0. 3一起工作的。
并且确保您拥有build.gradle中提到的java版本8。

rkue9o1l

rkue9o1l2#

尝试在Android SDK的SDK平台选项卡上安装Android 11.0 (R)Android 12.00 (S)

agxfikkp

agxfikkp3#

对于任何想了解更多信息的人,这个特定的问题已经在in Google's issue tracker中讨论过了。简而言之,这个问题源于robovm-gradle-plugin和Gradle本身之间Apache的commons-compress不匹配的依赖关系解析。至于破碎像素地牢,修复程序已经存在in this commit

kx1ctssn

kx1ctssn4#

在全新的Android Studio安装后,我下载了建议的Android SDKbuild tools,但我的项目是为旧版本配置的。然后问题发生了。我通过下载适当的Android SDKbuild tools修复了它。
例如,如果您的项目具有compileSdkVersion 31值,则下载Android SDK 31build tools 31.0.0。在Tools/SDK Manager/Show Package Details中,您可以找到适合您的情况的正确版本。

gmxoilav

gmxoilav5#

在我的情况下,这是错误与robovm,我试图建立libGDX的iOS在Windows PC上,当我删除iOS项目,错误也消失了。

相关问题