¿Cómo ejecutar un .APK sin instalarlo en el dispositivo con adb?

¿Es posible ejecutar un .apk en un dispositivo Android sin instalar la aplicación?

Puedo hacer algo como esto:
adb install com.your.app
y luego:
adb shell am start -n com.your.app/com.your.app.MainActivity

Esto funciona pero instala el apk en el dispositivo y no quiero eso. Quiero ejecutar el apk en el dispositivo sin instalar el apk en el dispositivo. es posible?

Puede instalar en el emulador si tiene problemas con su dispositivo.
Puede ser posible ejecutando la clase directamente con el comando dalvikvm. pero no lo he probado android.googlesource.com/platform/external/smali/+/…
¿Por qué razón quieres "no instalar"? Podría automatizarse para eliminar la aplicación, de modo que solo se instale temporalmente brevemente, ¿es esto lo que está buscando?

Respuestas (2)

¿Ejecutando un APK sin instalarlo?

No importa si no acepta la respuesta, no es posible ejecutar un APK .

No es un ejecutable, es un archivo que contiene la aplicación e instrucciones sobre dónde deben colocarse todos sus recursos para que la aplicación pueda ejecutarse.

Formato de archivo APK de Android

Hacer esta pregunta es lo mismo que preguntar cómo ejecuta una imagen iso, o cómo ejecuta un archivo zip o rar.

Si realmente no desea instalarlo, no hay forma de 'ejecutarlo'.

La única alternativa es instalarlo en un entorno sandbox o algo así.

Puede intentar extraer el binario del APK al dispositivo y usar un shell para ejecutarlo, pero NO me hago responsable si los resultados no son deseados.

Si nos dijo por qué quiere ejecutarlo, pero no instalarlo, entonces podría darle una mejor respuesta.

Necesito lograr lo mismo. Quiero ejecutar aplicaciones de la misma manera que Facebook Messanger ejecuta los juegos instantáneos. En mi aplicación, tengo cientos de complementos y cada uno no puede ser parte de apk. Entonces, ¿puedo ejecutar esos módulos, si el usuario lo desea? He visto esto hecho por Facebook Messenger y Hike for games.

Lo siento pero esto no es posible.

Durante la instalación de apk (incluso a través de adb), administrado por el Administrador de paquetes de Android en el dispositivo, se ejecutan varios procesos, tales como:

  • Determinar la ubicación adecuada de la instalación del paquete.
  • Copiar una copia del archivo apk a un directorio determinado (generalmente /datos/aplicación/)
  • Cree el directorio de la aplicación y configure los permisos para almacenar la base de datos y las preferencias compartidas, la biblioteca nativa (generalmente /datos/datos//)
  • Extracción de código dex al directorio de caché

No hay forma de que un apk pueda ejecutarse en un dispositivo Android si sus recursos y configuración no están en el mismo dispositivo.