Convertir asec a apk

Convertir ASEC a APK

Recuperar un APK instalable desde un contenedor ASEC heredado mediante ADB.

Cree archivos APK en línea

Todavía no podemos leer archivos ASEC, así que esta conversión no está disponible. Si puede exportar su trabajo a alguno de estos formatos, lo convertiremos en APK:

Cómo convertir un archivo asec a apk

Se necesita un APK cuando una aplicación Android antigua almacenada en una tarjeta SD debe reinstalarse, archivarse o inspeccionarse en otro dispositivo o en un ordenador de escritorio. Normalmente, Android debe montar un archivo ASEC para poder recuperar su APK; cambiar la extensión no realiza la conversión.

Qué es el formato ASEC

ASEC, cuyo nombre suele ampliarse como Android Secure External Cache o Android Secure Container, era utilizado por versiones antiguas de Android para las aplicaciones movidas al almacenamiento externo. El Package Manager de Android y el sistema de gestión de volúmenes creaban y montaban estos contenedores protegidos, normalmente en rutas como /mnt/asec/ o en una imagen de tarjeta SD.

Un archivo ASEC desmontado generalmente está cifrado o protegido de algún otro modo y no tiene la estructura ZIP normal de un APK. Es un contenedor de almacenamiento del sistema, no un paquete de aplicación diseñado para su instalación directa en Windows, macOS o Android.

Qué es el formato APK

APK es el formato de paquete de aplicaciones instalable de Android. Es un archivo basado en ZIP que contiene un manifiesto, código compilado, recursos, bibliotecas nativas e información de firma de la aplicación. Android Package Manager puede instalar los archivos APK, que también se pueden inspeccionar con Android Studio, APK Analyzer o Android SDK Build Tools.

Cambiar el nombre de application.asec a application.apk no lo descifra ni lo convierte. 7-Zip y APKTool pueden inspeccionar un APK después de su extracción, pero no pueden convertir un contenedor ASEC cifrado en un APK.

Cómo recuperar el APK

Cuando la aplicación original todavía está instalada

  1. Instala Android SDK Platform-Tools de Google, que proporciona adb.
  2. En el dispositivo Android, activa Developer options → USB debugging, conecta el dispositivo mediante USB y autoriza el ordenador.
  3. Confirma la conexión con adb devices.
  4. Busca el identificador del paquete con adb shell pm list packages. Consulta las rutas de los paquetes instalados con adb shell pm path com.example.app, reemplazando el identificador de ejemplo.
  5. Si Android devuelve una ruta ASEC montada como /mnt/asec/com.example.app-1/pkg.apk, copia ese archivo con adb pull /mnt/asec/com.example.app-1/pkg.apk app.apk.
  6. Si la ruta devuelta está dentro de /data/app/, extrae ese APK; ya es un APK y no requiere ninguna conversión de ASEC.
  7. Comprueba el archivo extraído con apksigner verify --verbose app.apk, utilizando el ejecutable apksigner de Android SDK Build Tools.

El acceso a una ruta ASEC montada puede requerir privilegios root, y las versiones más recientes de Android podrían no exponer la ruta al usuario del shell de ADB. Si pm path devuelve varios archivos, recupera todas las rutas; la aplicación puede utilizar APK divididos para idiomas, densidades de pantalla o arquitecturas de CPU. Instalar únicamente el APK base puede producir una instalación incompleta o que no funcione.

Cuando solo existe el archivo ASEC sin conexión

No existe un convertidor general para Windows, macOS o Linux que pueda descifrar un archivo ASEC arbitrario y convertirlo en un APK. Su protección y sus metadatos están asociados a la instalación de Android que lo creó o montó. La vía práctica de recuperación consiste en utilizar el dispositivo original y el contexto de su Package Manager, y después extraer el APK montado mediante ADB.

Si el dispositivo original no está disponible, obtén la aplicación de su desarrollador o de una fuente de distribución confiable, o restaura una copia de seguridad adecuada del dispositivo. Por lo general, los convertidores en línea de buena reputación no admiten el descifrado de ASEC. Subir un archivo ASEC a un servicio desconocido puede revelar datos de la aplicación y no puede eludir la protección del contenedor.

Limitaciones de compatibilidad

El APK extraído conserva la firma del desarrollador original, pero Android puede rechazarlo debido a una versión de Android no compatible, una arquitectura de CPU, permisos, el estado de la firma o la política de instalación. Una aplicación también puede requerir datos privados almacenados en el dispositivo original, servicios de Google Play, verificación de licencia o archivos OBB externos; extraer únicamente el APK no conserva esas dependencias.

ASEC estaba asociado principalmente con aplicaciones Android antiguas movidas al almacenamiento externo y no es el mecanismo normal de almacenamiento de aplicaciones en las versiones actuales de Android. En un dispositivo actual, utiliza adb shell pm path package.name para recuperar directamente el APK instalado o el conjunto de APK divididos, en lugar de buscar un archivo ASEC.

ASEC vs APK: comparación de formatos

Cómo se comparan los formatos ASEC y APK en las propiedades que más importan para esta conversión.

Comparación de los formatos de archivo ASEC y APK
Propiedad .ASEC Android Secure Container .APK Android Package
Estándar abierto No No
Compresión — Ambos
Tamaño de archivo típico Pequeño Medio
Se abre en un navegador web No No
Edición posterior No editable directamente No editable directamente
Compatibilidad con metadata Ninguno Básico
Legible como texto plano No No
Más adecuado para Incrustación en aplicaciones Incrustación en aplicaciones
Introducido 2009 2008
Desarrollador Google Google
Tipo MIME — application/vnd.android.package-archive