El problema: actualmente estoy usando Android Studio y Gradle para compilar código desde un repositorio de github ( 00-Evan/shattered-pixel-dungeon ) y aunque puedo ejecutar algunas tareas (intenté 'desktop:release', 'desktop:debug' ), gradle se niega a sincronizar correctamente y cada vez que intento hacerlo, aparece un registro de error:
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) Importante: He tenido este problema antes (mientras compilaba la versión anterior de este código) y en ese momento descargué una versión específica de las herramientas de compilación SDK (30.0.0 y 26.0.0 si no recuerdo mal) ayudó, sin embargo, esto no ayuda ya no.
Otras personas que usan este código no informan el mismo problema y parece que soy el único.
Además, por alguna razón, las tareas de Android tampoco parecen funcionar, como si el estudio de Android no las reconociera:
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.Lo que he probado:
Información adicional:
En general, cuando instala Android Studio, instalará el SDK más reciente y la última versión de la herramienta de compilación que no es compatible con los proyectos existentes.
Según el build.gradle presente en 00-Evan/shattered-pixel-dungeon
Debería intentar instalar la versión 30 del SDK. Y la versión de la herramienta de compilación del SDK: 30.0.X. Deberia de funcionar.
Para mí, funciona con la versión 30 del SDK y la versión 30.0.3 de la herramienta de compilación.
Y solo asegúrese de tener la versión 8 de Java como se menciona en build.gradle.
Intente instalar Android 11.0 (R) o Android 12.00 (S) en la pestaña SDK Platform en Android SDK. Eso solucionó el problema para mí.
Para cualquiera que busque más información, este problema específico se ha cubierto en el rastreador de problemas de Google . En resumen, el problema surge de la resolución de dependencias no coincidentes de commons-compress de Apache entre robovm-gradle-plugin y el mismo Gradle. En cuanto a Shattered Pixel Dungeon, la solución está presente en este compromiso .