El archivo APK no existe en el disco

Cuando estoy intentando la aplicación de depuración en Android Studio da este resultado de registro:

El archivo APK /Users/MyApplicationName/app/build/outputs/apk/app-debug.apk no existe en el disco.

Reinicié Android Studio, pero no puedo resolver este problema. Cómo puedo resolverlo ? Gracias

Haga clic en esta opción para solucionar el error:

Introduzca aquí la descripción de la imagen

Si sólo desea saber la conclusión, vaya a la última sección. Gracias.

Por lo general, cuando falla el proyecto de construcción, algunos trucos comunes que podría probar:

  • Construir -> Proyecto Limpio
  • Comprobar variantes de construcción
  • Reinicie Android Studio (como mencionó)

Pero para ser más específico a su problema – cuando Android Studio no pudo encontrar el archivo APK en el disco. Esto significa que Android Studio realmente ha construido el proyecto con éxito, y también ha generado el APK, sin embargo, por alguna razón, Android Studio no puede encontrar el archivo.

En este caso, compruebe el directorio impreso según el registro. Es útil.

Por ejemplo:

Con Android Studio 2.0 Vista previa (build 143.2443734).

  1. Checkout a un commit específico (para que se desvincule de la cabeza): git checkout [commit_hash]
  2. Ejecutar proyecto
  3. Android Studio dice: El archivo APK / Users / MyApplicationName / app / build / outputs / apk / app-debug-HEAD.apk no existe en el disco
  4. Vaya al directorio, hay un archivo realmente llamado: app-debug- ( HEAD.apk (con un paréntesis adicional)
  5. Ejecutar git branch

    * (CABEZA desprendida en 1a2bfff)

Así que aquí se podía ver, debido a mi error de script de construcción de gradle , nombre de archivo es de alguna manera equivocado.

Por encima del ejemplo es sólo un escenario que podría conducir a la misma cuestión, pero no es necesario ser la misma causa raíz como la suya.

Como resultado, le recomiendo encarecidamente que revise el directorio (para encontrar la diferencia) y compruebe su script build.gradle (puede cambiar el nombre del apk, algo como lo siguiente):

applicationVariants.all { variant -> variant.outputs.each { output -> def newFileName = "whatever you want to name it"; def apk = output.outputFile; output.outputFile = new File(apk.parentFile, newFileName); } } 

En mi caso, la ejecución de "Proyecto de sincronización con archivos Gradle" ayudó. Ni reiniciar Andoid Studio ni borrar la memoria caché hizo nada.

Asegúrese de que no tiene apóstrofo ni & en su camino

Fui testigo de un problema similar por lo general cuando estoy cambiando las sucursales git. Para mí, apagar Android Studio rm -rfv ~/Library/Caches/AndroidStudio* y reiniciar Android Studio es el ticket.

En mi caso, estaba usando un carácter especial en mi ruta de archivo de aplicación. Cerré el Android Studio y elimine el ' carácter de mi ruta de archivo de aplicación. Todo funcionó bien cuando reopned el proyecto.

He resuelto la construcción de un apk con la opción Construir de la ventana superior y construir APK. No hay necesidad de hacer algo raro.

Para usuarios como Unix (Linux / MacOs X), en lugar de eliminar ~ / .gradle / caches /, en la línea de comandos:

 $ cd path_to_you_project $ touch build.gradle 

Luego, pida a Android Studio que genere APK, restablecerá la caché gradle.

Mi problema es que estaba agregando el número de versión a la APK. Cambiar el número de versión y volver a sincronizar Gradle arregló el problema para mí.

 def appendVersionNameVersionCode(variant, defaultConfig) { variant.outputs.each { output -> if (output.zipAlign) { def file = output.outputFile def removeApp = file.name.replace("app-", "") def removeType = removeApp.replace("-release", "") def fileName = removeType.replace(".apk", "." + defaultConfig.versionName + ".apk") output.outputFile = new File(file.parent, fileName) } def file = output.packageApplication.outputFile def removeApp = file.name.replace("app-", "") def removeType = removeApp.replace("-release", "") def fileName = removeType.replace(".apk", "." + defaultConfig.versionName + ".apk") output.packageApplication.outputFile = new File(file.parent, fileName) } } 

Archivo -> Invalidate Caches / Restart

Yo tuve el mismo problema. Se debía a un nombre falso en el camino. Había un carácter especial en el camino como esto: C: \ Usuario \ Mi App \ Projekte-Tablet & Handy i eliminado el carácter "&" y funcionó bien.

Si ha intentado todas las respuestas anteriores y no funcionó, intente desactivar la función "Instant Run". Este me ayudó después de todos los intentos.

Archivo -> Configuración -> Construcción, Ejecución, Despliegue -> Ejecución instantánea -> Desmarque la casilla de verificación allí

También tengo ese problema, después de limpiar la construcción. Para mí la solución fue que sólo sincronizar el gradle y funcionó para mí.

Mi problema estaba incluyendo minutos en el nombre de archivo – él buscó appname_debug_0.9.0.1_170214_2216.apk cuando el archivo generado era appname_debug_0.9.0.1_170214_2217.apk así que el código del filename de la salida (nabbed de en otra parte) era claramente el ser llamado de dos diversos puntos En la construcción.

 applicationVariants.all { variant -> variant.outputs.each { output -> def project = "appname" def SEP = "_" // def flavor = variant.productFlavors[0].name def buildType = variant.variantData.variantConfiguration.buildType.name def version = variant.versionName def date = new Date(); def formattedDate = date.format('yyMMdd_HHmm') def newApkName = project + SEP + /*flavor + */ SEP + buildType + SEP + version + SEP + formattedDate + ".apk" output.outputFile = new File(output.outputFile.parent, newApkName) } } 

Frente a la misma cuestión con gradle 1.5

Tuve que limpiar los archivos de compilación:

Construir -> Proyecto limpio

Y crear un APK para forzar la compilación y sincronización completas de los archivos gradle:

Construir -> Construir APK

Todavía no sé por qué o cómo sucedió tho.

Si está utilizando Linux, pruebe a configurar el permiso de escritura en la carpeta de la aplicación / compilación.

Cambio de archivo build.gradle un poco de información, y haga clic en "Sincronizar ahora", simplemente bien.

Quite el directorio ~ / .gradle / caches /. Está bien hacer esto mientras se abre Android Studio. (Consulte pm para instalar el nombre incorrecto del paquete) Pulse el icono "Sincronizar proyecto con archivos Gradle" en Android Studio Ejecute el proyecto y la ruta remota será correcta.

Refer answer @ Android Studio obtiene error en el nombre del paquete al ejecutar .apk

Asegúrese de que en la ruta generada en sus registros -en su caso:

/Users/MyApplicationName/app/build/outputs/apk/app-debug.apk

La carpeta "outputs" tiene una carpeta "apk".

Ese era mi problema, si no está allí, necesitará ejecutar la tarea "assembleRelease" en gradle siguiendo la siguiente captura de pantalla;

Pasos para ejecutar la tarea de ensamblaje de gradle A continuación, se generará la carpeta.

Nada de lo anterior me ayudó, pero me di cuenta de esto cambiando a otro sabor en el panel de herramientas de construcción y luego volver a cambiar a la necesaria.

Modifique el archivo: build.gradle (directorio de aplicaciones). De hecho: no debe cambiar este archivo, sólo por esto para obtener consejos de sincronización, a continuación, sincronizar el proyecto.

El botón se llama "Proyecto de sincronización con archivos Gradle" y se ve igual: Gradle Sync … siempre tiene que hacer clic en él, al actualizar el número de versión, lo que resulta en otro nombre de archivo APK (a menos que el nombre de archivo no ha cambiado, la instalación del paquete siempre funciona, lo que indica, que el nombre de archivo se almacena en caché). La opción equivalente CLI Gradle parece ser --recompile-scripts .

@ Vea el Apéndice D. Línea de comandos Gradle .

  • Diffrences de android apk exportado por eclipse y android studio
  • ¿Por qué se necesita un apk no alineado?
  • Volver a firmar un Android Apk
  • Ciclo de vida de la aplicación Android cuando la aplicación está siendo actualizada por Play Store
  • ¿Por qué el tamaño de mi aplicación en el dispositivo es diferente al tamaño de APK o Play store
  • Eclipse: no inicia la aplicación después de instalar .apk (android)
  • La actualización de la aplicación pierde todos los datos como ruta Código / Resouce para los cambios de pkg
  • ¿Cómo generar firmado y unsigned APK usando gradle?
  • Si no comprimo un archivo de texto sin formato en Android, ¿se comprimirá en el APK de todos modos?
  • ¿Cómo invertir el ingeniero / descompilar un APK Android que se ofuscó con ProGuard?
  • Firmado apk obtener se estrelló en proguard habilitar
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.