No puede encontrar zip-align cuando publica la aplicación
cannot.find.zip.align=The zipalign tool was not found in the SDK. Please update to the latest SDK and re-export your application or run zipalign manually. Aligning applications allows Android to use application resources more efficiently.
Este es el mensaje que recibí cuando intenté publicar mi aplicación. Estoy utilizando la última revisión de Android SDK Tools (23 que se publicó hoy) y SDK Platform-tools (20 que también fue lanzado hoy). Conseguí un APK fuera de él, pero si intenté cargarlo a Google Play conseguí un error que se queja de que no es alineado con la cremallera.
Ejecutar zipalign manualmente corrige el apk, pero ¿alguien sabe qué causa esto y cómo solucionarlo?
Yo tuve el mismo problema. Y para solucionarlo, copio el archivo Zipalign de la carpeta sdk / build-tools / android-4.4W a sdk / tools /
Editado: Desde que Google actualizó SDK para Android, las nuevas herramientas de compilación solucionan este problema. Así que animé a todos a actualizar a Android SDK Build-tools 20 como lo sugirió Pang en el post de abajo.
Lo arreglé instalando Android SDK Build-tools 20:
En Eclipse → Menú desplegable → Ventana → Administrador SDK de Android , compruebe las herramientas de compilación SDK de Android Rev. 20 y , a continuación, haga clic en el botón Instalar n paquetes … para iniciar la instalación.
Se convierte en utilizable si instalas
Android SDK Build-tools Rev.20
Decidí hacer un video para esto .. seguí pegándolo en herramientas, pero por desgracia no funcionaba para mí. Lo trasladé a la plataforma de herramientas y voila de publicación de inmediato .. debe reiniciar eclipse después.
Tutorial para corregir zipalign faltante
En una Mac, hice lo siguiente:
-
Encontrarlo en o / s (yo ya había descargado herramientas de compilación para 19 y 20)
-
Presiona Ctrl-Abrir para permitir aplicaciones desde Internet
-
Muévalo desde la carpeta sdk / build-tools / android-4.4W a sdk / tools /. Uf.
Utilicé el camino completo de zipalign. Para mac, encontré el archivo ejecutable en Finder y hice clic en él. Luego, para publicar mi aplicación, corrí
/Users/username/development/sdk/tools/zipalign -v 4 HelloWorld-release-unsigned.apk HelloWorld.apk
en lugar de
zipalign -v 4 HelloWorld-release-unsigned.apk HelloWorld.apk
Con la actualización de SDK a 20, la versión 20 de las herramientas de creación y plataforma y 23 de los peajes de sdk, Google ha movido un montón de cosas.
Sin embargo, Gradle (si está utilizando Android Studio) aún no se ha actualizado para reflejar esos cambios, como se indica en otras respuestas copiando el binario zipalign
a /sdk/tools/
debería hacer el truco por ahora.
ACTUALIZACIÓN: desde Android Studio 0.8.1 se publicó el problema parece fijado ahora …
Sólo necesita actualizar su build.gradle
y debería funcionar bien de nuevo
compileSdkVersion 20
buildToolsVersion "20.0.0"
targetSdkVersion 20
Y si utiliza cualquier compat o biblioteca de soporte
compile 'com.android.support:appcompat-v7:20.+'
compile 'com.android.support:support-v4:20.+'
Mac / Linux:
Esto funcionó para mí (es posible que desee reemplazar 22.0.1 con la versión de las herramientas de construcción):
Editar: ~ / .bashrc
export ANDROID_HOME=~/Android/Sdk/ export ANDROID_TOOLS=~/Android/Sdk/tools/ export ANDROID_BUILD_TOOLS=~/Android/Sdk/build-tools/22.0.1/ export ANDROID_PLATFORM_TOOLS=~/Android/Sdk/platform-tools/ PATH=$PATH:$ANDROID_HOME:$ANDROID_TOOLS:$ANDROID_PLATFORM_TOOLS:$ANDROID_BUILD_TOOLS
Y correr:
source ~/.bashrc
O simplemente cierre el terminal y vuelva a iniciarlo.
Compruebe en el gestor de SDK, que ha instalado el "build-tools". Mina en su estado predeterminado, no lo hizo.
Si está utilizando gradle sólo actualizar ypur gradle plugin!
Cambiar la línea en build.gradle desde:
classpath 'com.android.tools.build:gradle:0.9.+'
a:
classpath 'com.android.tools.build:gradle:0.11.+'
Esto funciona para mi.
Tenga en cuenta que la variable buildToolsVersion (para mí "20.0.0") debe coincidir con su versión de build-tools.
Buena suerte 🙂
Con Android Studio 1.0 tienes que usar zipAlignEnabled true
Mi corrección funcionó copiando zipalign.exe de sdk \ build-tools \ android-4.4W a sdk \ platform-tools , como se muestra en el video vinculado por digiboomz, y no funcionó copiando en sdk \ tools
Si no se encuentra el comando zipalign desde Command-Line, añada la ruta de archivo de zipalign a variables ambientales. Como se mencionó anteriormente, nunca es bueno cambiar la ubicación del archivo exe.
Para usuarios de Windows:
Agregar a User->PATH->"path to zipalign folder"
En mi caso, la ruta de acceso era C:\adt-bundle-windows-x86_64-20140702\sdk\build-tools\android-4.4W
. En esa carpeta es zipalign.exe
Este enlace puede ayudarlo a configurar la ruta y comprenderlo http://www.voidspace.org.uk/python/articles/command_line.shtml#path
Yo uso Eclipse y esto se rompió durante una actualización. Esto es lo que funcionó para mí como las respuestas anteriores no.
Comprobé dónde build.xml de la hormiga esperaba encontrar zipalign.exe.
En: C:\Development\Android\android-sdk\tools\ant\build.xml
zipalign se define como:
<property name="zipalign" location="${android.build.tools.dir}/zipalign${exe}" />
Que indica lo esperado en:
C:\Development\Android\android-sdk\build-tools\18.0.1
Este directorio corresponde a la versión más alta de la 'Android SDK Build-tools' mostrada como instalada en el 'Android SDK Manager'. Así que ahí es donde copié zipalign.exe (¡que obtuve de una instalación de Android Studio!) Y las aplicaciones firmadas ahora son automáticamente zipaligned de nuevo!
I resuelto por RUN como administrador @ SDK Manager.exe en el directorio C: \ Archivos de programa \ Android SDK
Después de que u'll obtener actualizado herramientas de construcción un cualquier repositorio
Pasos para solucionar esto,
- Instalar la última versión de Android SDK Build-Tools
- Compruebe si zipalign.exe está disponible en la carpeta android-sdk \ build-tools \ eg android-sdk \ build-tools \ 21.1.0 \
- En algunas versiones anteriores de android es posible que no encuentres zipalign.exe. No entre en pánico, compruebe cualquier otro verion en el que zipalign está disponible.
- Abra el archivo project.properties y configure las herramientas de compilación para que indiquen en qué está presente zipalign.exe. Por ejemplo, sdk.buildtools = 21.1.0.
- Reinicie su eclipse e intente exportar de nuevo. Deberia de funcionar.
La tarea de grader Zipalign está obsoleta desde Android Plugin para Gradle, Revisión 2.2.0 (Septiembre 2016).
Si desea seguir utilizando, añada android.useOldPackaging = true a su archivo gradle.properties.
Haga clic aquí para obtener una explicación detallada.
Mejora el rendimiento de la construcción mediante la adopción de una nueva tubería de empaquetado predeterminada que controla el cierre, la firma y el zipaligning en una tarea. Puede volver a usar las herramientas de empaquetado más antiguas agregando android.useOldPackaging = true a su archivo gradle.properties. Mientras utiliza la nueva herramienta de empaquetado, la tarea zipalignDebug no está disponible. Sin embargo, puede crear uno usted mismo llamando al método createZipAlignTask (String taskName, File inputFile, File outputFile). La firma de APK ahora utiliza APK Signature Scheme v2 además de la firma tradicional de JAR. Todas las plataformas Android aceptan los APKs resultantes. Cualquier modificación de estos APK después de firmar invalida sus firmas v2 y evita la instalación en un dispositivo. Blockquote
zipalign
fue movido a build-tools\19.1.0
y build-tools\20.0.0
, supongo que deberías usar uno de ellos dependiendo de tu SDK de destino
Lo solucioné desinstalando Android SDK Platform (4.4W) y luego reinstalándolo. También reinicie Eclipse después de la instalación.
En mi caso, SDK Build Tools 20 ya estaban instalados. Copié zipalign.exe en la carpeta Herramientas pero sin éxito.
Después de eso me di cuenta de que he actualizado Eclipse sin quitar o cambiar el nombre de la antigua carpeta.
Así que lo hice:
1) Renombrado antiguo Eclipse carpeta 2) Eclipse reiniciado
Eclipse pidió corregir las preferencias de Android porque el problema era Eclipse, que todavía estaba tratando de usar la carpeta antigua
En un Mac con OSX 10.10.5, Android Studio y SDK instalado, la ruta es
/Users/mles/Library/Android/sdk/build-tools/23.0.1/zipalign
Normalmente, el zipalign.exe está cerca del "Administrador de Android" (también, "Android", "Android SDK", etc), por lo que puede buscar "Android Manager" en la búsqueda de Windows y dar un clic derecho sobre el comando y abrir Archivo . Usted probablemente está en: algo \ Android \ android-sdk \ tools . Entonces es sólo necesario devolver una carpeta e ir a Android \ android-sdk \ build-tools \ 23.0.3 . El zipalign está ahí, quizás no puedas usarlo con doble clic, así que tienes que copiar toda la ruta del archivo zipalign para usar en CMD , el código final que tienes que ingresar será algo como:
C: \ Users \ heitor \ AppData \ Local \ Android \ android-sdk \ build-tools \ 23.0.1 \ zipalign.exe -v 4 android.apk android2.apk
PS: Lo siento por mi mal inglés, soy brasileño.
Google corrige este error con la versión de herramientas de compilación: 23.0.3 Ahora zipalign está empaquetado correctamente y todo funciona bien.