soluciĆ³n solucion ruta para nombre largo larga especificada error destino demasiado archivo acceso android android-gradle google-play-services

android - solucion - Error: la ruta del archivo es demasiado larga en Windows, mantenga menos de 240 caracteres



ruta de acceso demasiado larga windows 10 (14)

Entonces, hice algunos cambios en mi archivo build.gradle (aplicación) y Android Studio me da este error (abra la imagen en una nueva pestaña para una mejor visualización):

Mi archivo build.gradle (aplicación) (este no es el archivo editado, eliminé nuevas líneas de código y todavía no tengo suerte / solución):

Todo funcionaba bastante bien hasta que hice algunos cambios en el archivo build.gradle (aplicación), pero luego eliminé esas nuevas líneas de códigos y Android Studio todavía me sigue dando el error. El error se relaciona con la compilación ''com.google.android.gms: play-services: 8.3.0'' . Intenté eliminar / renombrar esas imágenes png dentro de la carpeta indicada, pero cuando reconstruyo el proyecto, las imágenes png se descargan automáticamente. Mi archivo build.gradle (proyecto) contiene classpath ''com.android.tools.build:gradle:1.5.0'' . Quiero saber qué causa este error y cómo solucionarlo. Muchas gracias.


Acortar los caminos del proyecto es realmente un truco, la respuesta de Ivan Neeson parece el camino a seguir.

Si tiene la suerte de utilizar Android Studio, verá un mensaje de error útil sobre la longitud del archivo. Sin embargo, si encuentra el mismo problema al hacer una compilación iónica de línea de comandos, verá si hay algún tipo de error de contracción para un archivo png y no es tan obvio.

El verdadero problema es que Google Play Services tiene nombres de archivo tan extravagantes como common_google_signin_btn_text_light_normal_background.9.png que simplemente no es compatible con Windows. Volcar eso dentro de una compilación de Android y la ruta explota fuera de nuestro control a las plataformas / android / build / intermediates / exploded-aar / com.google.android.gms / play-services-base / 10.2.1 / res / drawable-xhdpi- v4 / common_google_signin_btn_text_light_normal_background.9.png


Como una adición a la respuesta de lodock, puede usar un hash en la ruta del proyecto si tiene muchos proyectos con el mismo nombre:

import java.security.MessageDigest def hashString(String s){ MessageDigest.getInstance("SHA1").digest(s.bytes).encodeHex().toString() } allprojects { buildDir = "C:/AB/${hashString(projectDir.getAbsolutePath())}" }


Como una alternativa muy sólida para mover el proyecto, sugiero usar un enlace duro. La sintaxis de eso sería así

mklink /J C:/AndroidProjects/ProjectName C:/MyVeryVeryVeryVery…VeryVeryVeryLongPath/ProjectName

Ahora puede trabajar en su proyecto en C: / AndroidProjects / ProjectName y tener los cambios justo donde se supone que debe estar su proyecto.


Debería mantener el directorio de su proyecto lo menos profundo posible, por ejemplo: - D: / AndroidWorkSpace / ProjectName

Porque Android Studio solo admite 240 caracteres de longitud de la ruta del proyecto

Gracias



Encontré este problema cuando tengo dos carpetas repetidas en el mismo como,

E:/project-one/project-one

y cuando tiene una gran longitud de nombre de carpeta como,

E:/project-one-with-very-big-name

Para evitar este problema, haga una carpeta de proyecto simple y corta.


Estaba enfrentando el mismo problema, mi proyecto está en la unidad C y está en una ubicación de ruta más profunda, lo que hice, acabo de mover mi proyecto a otra ubicación de ruta profunda inferior y funciona, solo cambia la ubicación del proyecto y el proyecto no debería estar en jerarquía de ubicación profunda.



Me encontré con el mismo problema. No sé una solución para su problema exacto, pero encontré una solución; Veo que su proyecto tiene una jerarquía de ruta de archivo profunda. ¿Por qué no simplemente mover su proyecto desde un nivel inferior?

Ej: C:/Projects/YourProject

Eso solucionó el problema para mí.


Para usuarios de Windows:

Es posible que sienta la tentación de crear un recurso compartido de red en la carpeta raíz del proyecto y luego asignarlo. Esta técnica acortará la longitud total de la ruta pero causará problemas para Android Studio debido a la dificultad de detectar archivos modificados. Una mejor solución es usar el comando subst de windows. Aquí hay un script de ejemplo para evitar el problema. Ajuste los nombres según sea necesario y modifíquelos para apuntar a su proyecto e instalar directorios.

Archivo: launchAS.cmd

subst P: "C:/private/java42/ide/42g/workspaces/AndroidStudioProjects" cd "C:/private/java42/programs/android-studio-base/bin" start studio64.exe

Los comandos anteriores crearán una unidad P: y la asignarán a la carpeta raíz del proyecto. Esto reducirá la longitud total de la ruta a los archivos de proyecto y podría brindarle un poco de alivio para el problema del nombre de ruta demasiado largo. Use P: / como habría usado el nombre raíz largo al abrir proyectos.

Para eliminar el mapeo use el comando: subst P: / d


Puede usar el punto de unión NTFS para crear una ruta más corta a su proyecto. Para leer más sobre Junctions, lea esto: Enlaces duros y Junctions

Una unión (también llamada enlace flexible) difiere de un enlace duro en que los objetos de almacenamiento a los que hace referencia son directorios separados, y una unión puede enlazar directorios ubicados en diferentes volúmenes locales en la misma computadora. De lo contrario, las uniones funcionan de manera idéntica a los enlaces duros


También puede intentar cambiar su directorio de compilación para su proyecto, ya que es allí donde surgirán la mayoría de los problemas de ruta. En su archivo raíz build.gradle

allprojects { buildDir = "C:/tmp/${rootProject.name}/${project.name}" repositories { ... } }

Android Studio detectará el cambio y seguirá mostrando su nueva ubicación de compilación en la vista Proyecto. Es mucho más fácil que mover todo su proyecto.

EDITAR

Si bien Windows 10 Insider Preview ahora ofrece la capacidad de permitir límites de ruta de archivo más largos, estos límites actualmente solo son realmente accesibles para aplicaciones que han habilitado específicamente el soporte para rutas de archivo más largas.

En la actualidad, parece que estas aplicaciones con la ruta extendida habilitada parecen ser solo aplicaciones que se instalan a través de la Tienda Windows.

En este momento, Gradle no tiene y no puede habilitar esta opción para utilizar la longitud mejorada de la ruta del archivo NTFS.


Tuve una experiencia diferente con este problema. Primero tengo este error, pero luego noté que mis proyectos anteriores en el mismo directorio se estaban abriendo. Este es el camino:

C: / Users / koralis / Documents / extracción / Ex_Files_Android_App_Dev_LDS_Upd / Exercise Files / Ch01 / 01_06 / ImageAssets

Sorprendentemente, actualicé esa versión de gradle a ''com.android.tools.build:gradle:3.2.1'' de ''com.android.tools.build:gradle:2.0.0''

Esto resolvió mi problema.


Causa del problema: ''C: / users ... / commom_google_signin_btn_text_dark_normal.9.png'' la longitud de la ruta del icono es mayor que 240 caracteres, lo que excede la limitación máxima de la longitud de la ruta del archivo del sistema operativo Windows.

La solución es: mover su proyecto al directorio superior como ''C: / your_project'' o reducir la longitud del nombre de su proyecto.

Aquí está el gráfico de límite de ruta de Windows