Подтвердить что ты не робот

Создайте имитированную среду Android в моем приложении

Как говорится в названии, мне нужно создать симулированную среду Android в моем приложении. Мне нужно иметь возможность устанавливать приложения в эту среду, не устанавливая их на устройстве.

Я знаю, это возможно, потому что это приложение делает.

Я искал какое-то время, и я знаю, что приложение делает это, создавая среду Android, но, похоже, я не знаю, как это сделать.

ИЗМЕНИТЬ

Я нашел другое приложение, которое может это сделать

Параллельное пространство

4b9b3361

Ответ 1

Это зависит от того, в какой степени вам нужно запустить приложение и что представляет собой "установка" приложения. Имейте в виду, что файл .apk представляет собой только файл java .jar с некоторыми дополнительными данными, спрятанными в разных местах.

Чтобы запустить часть приложения Android без его установки, вам нужно

  • Откройте и проанализируйте apk. Этот класс APKParser может быть хорошим местом для начала.
  • Запросить любые разрешения, требуемые для приложения, о которых не было запрошено вашим приложением. В более старых версиях Android вам просто нужно запросить все возможные разрешения для начала, но с более новыми версиями вы можете requestPermissions, чтобы диалог запроса на доступ при удобстве.
  • Скопируйте classes.dex из приложения в папку с данными. Если он использует какие-либо общие классы, которые вы также используете, вы, вероятно, захотите их уничтожить из файла dex, чтобы у вас не было конфликта загрузки классов, а также очень, очень осторожны с загрузчиками классов.
  • Загрузите файл dex с помощью DexFileLoader.
  • На этом этапе вы можете загружать практически любой код в apk, но вы не сможете выполнять прямую нагрузку на действия, так как они не определены в вашем AndroidManifest.xml. Вместо этого вам нужно будет создать "фасадную" активность, в которой будет отображаться фактическая активность в отражении, и прокладывает такие вещи, как контекст, в отраженную активность.

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

Ответ 2

Соберитесь сами!

Android построен на Kernal, поэтому Linux

Вот ссылка на рабочий проект github, который отлично работает в среде Linux.

Здесь - документация о том, как она построена!