update tools studio para descargar configurar android-studio gradle android-gradle gradlew

android-studio - tools - gradle wrapper



No se pudo encontrar o cargar la clase principal org.gradle.wrapper.GradleWrapperMain (17)

@HankCa resolvió el problema en mi caso también. Decidí cambiar mi peligroso **/*.jar ignora a uno que se explica por sí mismo como src/**/lib/*.jar para evitar tales problemas en el futuro. Ignorar si comienza con ** / * es un poco demasiado peligroso, al menos para mí. Y siempre es una buena idea tener la idea detrás de una fila .gitignore con solo mirarla.

Limpié todo el proyecto eliminando directorios locales como ~/.gradle , ~/.m2 ~./android y ~/workspace/project/.gradle y seleccionando File -> Invalidate Caches / Restart... en Android Studio. Ahora la ejecución del comando ./gradlew conduce a la siguiente salida:

usr$ ./gradlew tasks Error: Could not find or load main class org.gradle.wrapper.GradleWrapperMain

No hace falta decir que borré demasiado, la pregunta es ¿cómo se puede reparar nuevamente? ¿Tienes alguna idea de cómo solucionar esto?


Además de la respuesta de @ RaGe, puede ser la situación que enfrenté cuando tuve un ignorante global que ignoraba los archivos .jar y, por lo tanto, el contenedor de envoltura de gradle nunca se comprometió. Por lo tanto, recibí ese error en el servidor Jenkins después de un intento de /var/lib/jenkins/my_project/gradlew build . Tuve que forzar explícitamente una adición del jar y luego confirmar:

git add -f gradle/wrapper/gradle-wrapper.jar


En Gradle 5.x yo uso:

wrapper { gradleVersion = ''5.5.1'' }


En mi caso (usando Windows 10) gradlew.bat tiene las siguientes líneas de código en:

set DIRNAME=%~dp0 if "%DIRNAME%" == "" set DIRNAME=. set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME%

La variable APP_HOME es esencialmente una carpeta raíz graduada para el proyecto, por lo tanto, si esto se complica de alguna manera, obtendrá:

Error: no se pudo encontrar o cargar la clase principal org.gradle.wrapper.GradleWrapperMain

Para mí, esto había estado en mal estado porque la estructura de la carpeta de mi proyecto tenía un ampersand (&). Por ejemplo, C: / Test & Dev / MyProject

Entonces, Gradel estaba tratando de encontrar el archivo gradle-wrapper.jar en una carpeta raíz de C: / Test (quitando todo después e incluyendo el ''&'')

Encontré esto al agregar la siguiente línea debajo de la línea de APP_HOME =% DIRNAME% establecida arriba. Luego ejecutó el archivo bat para ver el resultado.

echo "%APP_HOME%"

Habrá algunos otros ''caracteres especiales'' que podrían romper una ruta / directorio.


En mi caso, omití la subcarpeta del contenedor mientras copiaba la carpeta gradle y obtuve el mismo error.

No se pudo encontrar o cargar la clase principal org.gradle.wrapper.GradleWrapperMain

asegúrese de tener la estructura de carpetas correcta si copia el contenedor desde otra ubicación.

├── build.gradle ├── gradle │ └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle


En mi caso, era un .gitignore global, como se explica en la respuesta de @ HankCa .

En lugar de agregar el jar de forma forzada, lo que deberá recordar hacer en cada proyecto de Gradle, agregué una anulación para volver a incluir el contenedor de contenedor en mi .gitignore global:

*.jar !gradle/wrapper/gradle-wrapper.jar

Esto es útil para mí, ya que tengo muchos proyectos que usan Gradle; Git ahora me recordará que incluya el tarro de envoltura.

Esta anulación funcionará siempre que no se gradle-wrapper.jar directorios superiores a gradle-wrapper.jar (como gradle y wrapper ); git no descenderá a los directorios ignorados por razones de rendimiento .


En mi caso, gradle-wrapper.jar se corrompió después de reemplazar un montón de archivos. Volviendo al original resolvió el problema.


En mi caso, había eliminado gradlew y gradle carpetas del proyecto. Vuelva a limpiar las tareas de compilación a través de "Ejecutar tarea Gradle" desde la ventana Proyectos Gradle en intellij


Lo que funcionó para mí es correr primero:

gradle wrapper

Después de una compilación exitosa pude ejecutar

./gradlew assembleRelease

Nota: Para poder ejecutar gradle wrapper primero ejecute brew install gradle . Si la instalación se realiza correctamente, ejecute gradle wrapper desde la raíz del proyecto.

Fuente y agradecimientos: http://gradle.org/docs/current/userguide/gradle_wrapper.html y



Probablemente le falte el archivo gradle-wrapper.jar en el directorio gradle/wrapper en su proyecto.

Debe generar este archivo a través de este script en el archivo build.gradle como se muestra a continuación,

task wrapper(type: Wrapper) { gradleVersion = ''2.0'' // version required }

y ejecutar tarea:

gradle wrapper

Con Gradle 2.4 (o superior) puede configurar un contenedor sin agregar una tarea dedicada:

gradle wrapper --gradle-version 2.3

O

gradle wrapper --gradle-distribution-url https://myEnterpriseRepository:7070/gradle/distributions/gradle-2.3-bin.zip

Todos los detalles se pueden encontrar en este enlace


Seguí las respuestas de arriba cuando me encontré con esto. Y si tiene este problema, asegúrese de forzar la inserción de los archivos jar y de propiedades. Después de estos dos, dejé de tener este problema.

git add -f gradle/wrapper/gradle-wrapper.jar git add -f gradle/wrapper/gradle-wrapper.properties


Solucioné este problema con la próxima solución (tal vez ayude a alguien):

Simplemente verifique si las carpetas principales de la carpeta de su proyecto tienen nombres con espacios u otros caracteres prohibidos. En caso afirmativo, quítelo.

"C: / Users / someuser / Test Projects / testProj" - en este caso, "Test Projects" debería ser "TestProjects".


Vi el mismo error, pero en mi caso fue una instalación nueva de Git sin LFS instalado. El repositorio en cuestión se configuró con LFS y gradle-wrapper.jar estaba en LFS, por lo que solo contenía un puntero al servidor LFS. La solución era simple, solo ejecuta:

git lfs install

Y un clon nuevo hizo el truco. Supongo que git lfs pull o simplemente un git pull podrían haber ayudado, pero la persona con el problema decidió hacer un clon nuevo.


si es un proyecto nuevo, elimine la carpeta existente y ejecute $ npm install -g react-native-cli

compruebe que se ejecuta sin ningún error


también puede copiar gradlew.bat en su carpeta raíz y copiar el gradlew-wrapper en la carpeta gradlew.

Eso es trabajo para mí.


gradlew es el ejecutable de gradle wrapper: secuencia de comandos por lotes en Windows y secuencia de comandos de shell en otros lugares. Si incluye las siguientes líneas en su build.gradle ,

task wrapper(type: Wrapper) { gradleVersion = ''2.0'' }

se agrega un script de envoltura de gradle a sus carpetas de origen. Cuando se invoca el script de contenedor, descarga la versión gradle definida y la ejecuta. Al distribuir el contenedor con su proyecto, cualquiera puede trabajar con él sin necesidad de instalar Gradle de antemano. Aún mejor, los usuarios de la compilación tienen garantizado el uso de la versión de Gradle para la que fue diseñada.

En sus eliminaciones, eliminó algo de lo que depende gradlew. Puede extraer solo los archivos gradlew de su repositorio de origen, o si tiene instalado gradle wrapper ejecute gradle wrapper para restaurarlo.

ref: Gradle Wrapper