Как запустить .APK без установки на устройство с adb?

Можно ли запустить .apk на устройстве Android без установки приложения?

Я могу сделать что-то вроде этого:
adb install com.your.app
а затем:
adb shell am start -n com.your.app/com.your.app.MainActivity

Это работает, но устанавливает apk на устройство, а мне это не нужно. Я хочу запустить apk на устройстве без установки apk на устройстве. Это возможно?

Вы можете установить на эмулятор, если у вас есть проблемы с вашим устройством.
Это возможно, запустив класс напрямую с помощью команды dalvikvm. но я не пробовал android.googlesource.com/platform/external/smali/+/…
по какой причине вы хотите "без установки"? Можно было бы автоматически удалить приложение, чтобы установить его только на короткое время, это то, что вы ищете?

Ответы (2)

Запустить APK без его установки?

Неважно, если вы не примете ответ, запуск APK невозможен .

Это не исполняемый файл, это архив , содержащий приложение и инструкции о том, куда следует поместить все его ресурсы, чтобы приложение могло работать.

Формат файла Android APK

Задавать этот вопрос то же самое, что спрашивать, как вы запускаете образ iso или как вы запускаете файл zip или rar.

Если вы действительно не хотите его устанавливать, нет никакого способа «запустить» его.

Единственная альтернатива — установить его в среде песочницы или что-то в этом роде.

Вы можете попытаться извлечь двоичный файл из APK на устройство и использовать оболочку для его запуска, но я НЕ несу ответственности, если результаты нежелательны.

Если бы вы сказали нам, почему вы хотите запустить, но не установить его, я мог бы дать вам лучший ответ.

Мне нужно добиться того же. Я хочу запускать приложения так же, как Facebook Messenger запускает мгновенные игры. В моем приложении сотни плагинов, и каждый из них не может быть частью apk. Так что я могу запустить эти модули, если пользователь хочет. Я видел, как это делают мессенджеры Facebook и Hike для игр.

Извините, но это невозможно.

Во время установки apk (даже через adb), управляемой диспетчером пакетов Android на устройстве, выполняются различные процессы, такие как:

  • Определите подходящее место для установки пакета
  • Копирование копии файла apk в заданный каталог (обычно /data/app/)
  • Создайте каталог приложения и установите разрешения для хранения базы данных и общих настроек, собственной библиотеки (обычно /data/data//)
  • Извлечение кода dex в каталог кеша

Невозможно запустить apk на устройстве Android, если его ресурсы и конфигурация не находятся на одном устройстве.