问题:我目前正在使用Android Studio和Gradle编译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.
我尝试过的
5条答案
按热度按时间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。
rkue9o1l2#
尝试在Android SDK的SDK平台选项卡上安装
Android 11.0 (R)
或Android 12.00 (S)
。agxfikkp3#
对于任何想了解更多信息的人,这个特定的问题已经在in Google's issue tracker中讨论过了。简而言之,这个问题源于
robovm-gradle-plugin
和Gradle本身之间Apache的commons-compress
不匹配的依赖关系解析。至于破碎像素地牢,修复程序已经存在in this commit。kx1ctssn4#
在全新的Android Studio安装后,我下载了建议的
Android SDK
和build tools
,但我的项目是为旧版本配置的。然后问题发生了。我通过下载适当的Android SDK
和build tools
修复了它。例如,如果您的项目具有
compileSdkVersion 31
值,则下载Android SDK 31
和build tools 31.0.0
。在Tools/SDK Manager/Show Package Details
中,您可以找到适合您的情况的正确版本。gmxoilav5#
在我的情况下,这是错误与robovm,我试图建立libGDX的iOS在Windows PC上,当我删除iOS项目,错误也消失了。