Подготовка VirtualBox к работе с Android X86 и ARM без эмулятора

Как можно подготовить VirtualBox с ISO-образом Android-x86, который поддерживает ARM v7 (armeabi-v7a)?

Genymotion, кажется, делает это, но как только я запускаю VirtualBox из VirtualBox, он отображает только терминал. То же самое со всеми другими эмуляторами, такими как AndyRoid.

Я пытался установить несколько образов x86 ISO. Установлен переводчик ARM (libhoudini) и т.д. Я попытался установить образ Buildroid, тот же результат.

Некоторые игры работают, но Clash of Clans — нет. Это то, на что я указываю. Для Clash of Clans требуется ARM v7. v5 в этом случае не работает.

Кто-нибудь когда-нибудь занимался установкой Android X86 с ARM v7 или способом доступа к VirtualBox из Genymotion без GenyMotion?

Звучит как противоречие в терминах: X86 — это архитектура, ARM — другая. Таким образом, вы либо используете X86, либо ARM — я никогда не слышал о (широко распространенном) устройстве, имеющем обе архитектуры изначально. Так что ИМХО, без эмулятора этого не сделать.
Если это невозможно (даже с помощью переводчиков), как Genymotion, AndyRoid и все остальные эмуляторы справляются с этой задачей? :-)
Вы только что сами ответили на вопрос: "все остальные эмуляторы делают". Но вы просили "без эмулятора".
Большинство «рабочих» эмуляторов используют VirtualBox для создания образа Android X86. Это означает, что они должны сломать магию и перевести VirtualBox с использованием ARM вместо X86.
@EmanuelSeibold CoC не требует чипа ARM, он отлично работает на моей сборке MM x86. x86 не поддерживает инструкции ARM без эмулятора, и на данный момент ARM не поддерживает собственные инструкции x86 без эмулятора, которого в настоящее время не существует.
@EmanuelS Может быть, вам следует более четко разъяснить, что вы пытаетесь, или отредактировать свою формулировку. Сначала это звучало так, как будто вы пытались установить Adroid x86 на виртуальную машину через перевод ARM или виртуализатор, что не имело никакого смысла. Затем я перечитал ваш OP и подумал, что, возможно, вы пытались сказать, что установили Adroid x86 на платформу x86 и пытаетесь использовать виртуальную машину для запуска программного обеспечения на базе ARM. Это верно? Но тогда ваш последний комментарий звучит так, как будто вы пытались установить Adroid x86 на эмулятор ARM v7, что также не имеет смысла. Так что ваш вопрос/намерение не очень ясно.
@EmanuelS Мне неизвестно о способности каких-либо эмуляторов с помощью VirtualBox создавать порт или образ ОС или программного обеспечения на базе ARM. Виртуальные машины создают среду виртуальной платформы для установки определенного программного обеспечения, зависящего от платформы, в эту виртуализированную среду. Они не занимаются ни портированием, ни созданием ISO-образов, ни магическим взломом переводов, как вы это назвали.
@EmanuelS Как было сказано ранее, попытайтесь уточнить, что вы пытаетесь сделать. Многие просто пропустили бы этот пост, если бы не поняли его полностью, и продолжили бы вместо того, чтобы задавать уточняющие вопросы. Попробуйте объяснить, как вы установили что. Другими словами, вы установили Android x86 непосредственно на машину x86 или установили Android x86 на виртуальную машину или VirtualBox на машину с другой ОС. Также найдите время, чтобы уточнить, что вы установили на виртуальную машину, чтобы запустить какое программное обеспечение и какие результаты. Если вы не потратите необходимое время на объяснение деталей, большинство не будет тратить время на написание подробного ответа.

Ответы (3)

ПК Acorn RISC изначально работал на процессорах ARM и x86. Возможно, это то, о чем говорил Иззи; в любом случае вам нужен эмулятор или переводчик ARM, если вы используете Android x86 и хотите запускать программное обеспечение только для ARM. ARM и x86 - совершенно разные процессоры!

По сути, Android x86 имеет переработанное ядро ​​и HAL, чтобы он мог работать на платформе x86. Хотя последнюю версию Android x86 на базе Oreo можно считать стабильной, все еще существуют задокументированные проблемы с некоторыми программными компонентами, которые не работают так хорошо или вообще не работают в этом порту, как вы могли бы видеть и ожидать, что они будут работать в ОС, изначально разработанной для основа для работы на платформе x86.

Кажется, вы упомянули некоторые трансляторы программного кода , но не объяснили, работают ли они в виртуальной машине или нет. Кроме того, похоже, что вы хотите запускать программное обеспечение ARM с платформы x86 и полностью пропустить среду виртуальной машины, что может быть невозможно. Код инструкций ARM полностью отличается от x86 и того, как его обрабатывают два отдельных процессора. Мне неизвестно какое-либо программное обеспечение, которое будет переводить или запускать сложныеПрограммный код ARM, такой как 3D-игра, на платформе x86 за пределами виртуальной машины в настоящее время, поскольку этот тип программного обеспечения подразумевает запуск какого-то живого переноса в реальном времени, которого не существует. Единственный способ сделать это — создать виртуальную среду ARM CPU. В настоящее время у Apple и Microsoft есть проект по переносу своих систем на платформу ARM, поскольку за ARM будущее. Тем не менее, они объявили об этом в прошлом году, но, возможно, еще через пару лет, пока у них не будет рабочего порта. Кроме того, запуск виртуальной машины ARM внутри платформы x86, которая изначально была разработана для ARM, может создать собственный набор проблем с точки зрения попытки установить виртуальную среду ARM v7 через виртуальную машину на платформу x86 ОС, которая изначально была написана для ARM. , но потом портировали на x86.

В то время как Android x86 должен работать непосредственно на платформе x86 (Intel или AMD) или на виртуальной машине, настроенной с виртуальной платформой x86, похоже, что вы перемещаетесь туда и обратно. Другими словами, взять ОС Android, основанную на ARM и разработанную для нее, которая была перенесена на x86, а затем вы хотите вернуться назад и запустить виртуальную машину ARM для запуска программного обеспечения ARM. По моему опыту, попытки сделать что-либо, переводящее программное обеспечение туда и обратно, почти всегда приводят к нежелательным результатам. Это почти как перевод книги с английского на немецкий, затем на русский и снова на английский. Вы не получите такую ​​же книгу на английском языке, которая читается точно так же, как оригинал. Таким образом, это программное обеспечение может работать не так идеально, как предполагалось.

Кроме того, при просмотре документации VirtualBox не видно, что в настоящее время она поддерживает настройку среды ARM. Однако я заметил некоторые другие виртуальные среды ARM, но не смотрел, на какой платформе они работают и насколько хорошо они работают.

Существует закрытая библиотека перевода в Android ARM от Intel под названием libhoudini. Если в вашей установке x86 Android это включено, она может запускать некоторый код ARM.

Похоже, libhoudini — это то, что вы не стали бы устанавливать на виртуальную машину… а там, похоже, он его и установил.