- Строим Android x86
- Установка окружения для сборки
- Загрузка дерева исходных кодов
- Загрузка файлов
- Сборка ядра
- Построение Android
- Настройка VirtualBox
- Эмулятор Jelly Bean
- What is new?
- Project Goal
- Screenshots
- Tested platforms
- Features
- Source code
- Development (2019/03)
- What we are working on now
- To do list
- Join us
- Sponsors
- Credit
Строим Android x86
Установка окружения для сборки
Для сборки Android потребуется 64 битная версия Linux. Еще один важный момент: обратите внимание на версию GCC, которая установлена на системе. Google поддерживает версию GCC 4.4 и выше. Так же на системе должна быть установлена реализация Java от Oracle.
Установка дополнительных зависимостей для Ubuntu 12.04:
Установите символьную ссылку для устранения конфликта имен:
Загрузка дерева исходных кодов
Установка Repo
Repo — утилита управления репозиториями, упрощающая работу с Git для Android. Более подробную информацию можно прочесть здесь (http://source.android.com/source/version-control.html)
Для установки, инициализации и настройки Repo выполните следующие шаги:
• Убедитесь, что у вас есть директория bin в вашем домашнем каталоге и она прописана в PATH:
• Загрузите Repo скрипт и выставите права на выполнение:
Инициализация Repo клиента
После установки Repo, настройте доступ к репозиториям исходных кодов Android:
• Создайте пустую директорию для исходных файлов и перейдите в нее. Например, это может выглядеть так:
• Запустите скрипт repo init, чтобы обновить версию самого Repo.
Эта команда подключит ветку master из дерева исходных кодов Android. Вы можете указать любую другую, используя ключ -b:
Для просмотра всех доступных веток введите команду:
Нас интересуют наиболее последние версии Android от Google:
- Jelly Bean: remotes/origin/android-4.1.1_r6
- Ice Cream Sandwich: remotes/origin/android-4.0.4_r2.1
Можно выбрать любую на ваш вкус, дальнейшие шаги не будут отличаться. Для демонстрации процесса сборки под VirtualBox возьмем версию Jelly Bean (JB).
В случае успешной инициализации вы увидите сообщение о том, что Repo инициализирован в вашей директории и в ней появится папка .repo
Загрузка файлов
Чтобы загрузить исходные файлы из репозитория в вашу рабочую директорию выполните команду:
Начальная синхронизация может занять больше часа времени.
Сборка ядра
Android разработан прежде всего для устройств, управляемых жестами и он не поддерживает мышь по умолчанию. Поэтому, в качестве примера, пересоберем ядро из исходников с включенной поддержкой мыши.
Создадим директорию для хранения исходников ядра:
Воспользуемся заранее подготовленной версией ядра от Intel:
Перейдем в директорию ядра:
Теперь у нас есть исходники ядра. Нужно модифицировать конфигурационный файл и пересобрать. Чтобы сократить время на полную настройку ядра, воспользуемся конфигурационным файлом, который подготовили для на разработчики. Важный момент — не забывайте указать архитектуру для которой происходит сборка ядра, в нашем случае это x86.
Через несколько секунд загрузится графическое меню настройки ядра. Стрелками «вверх», «вниз» вы можете передвигаться по пунктам меню, «Enter» чтобы зайти в подменю. Все точно так же как с обычным ядром Linux.
Чтобы включить поддержку мыши:
• Зайдите в «Device Drivers»
• Выберите «Input device Support»
• Отметьте «Mice»
Вы можете зайти в подменю «Mice» и посмотреть дополнительные настройки драйверов.
Затем выйдите из меню конфигурации ядра. Это можно сделать с помощью нескольких нажатий на «Esc». Не забудьте сохранить настройки, когда меню конфигурации предложит это сделать.
Сделав необходимые настройки ядра, соберем его. Это не займет много времени, особенно если вы используете многоядерную машину — можете указать опцию команды make: -j N, где N — число ядер (например, для написания статьи использовалась make -j 32).
При успешной компиляции вы увидите сообщение:
Путь до нового ядра указан в последней строке.
Подмена ядра
Путь к ядру, которое будет использовано в сборке для VirtualBox можно определить следующим образом:
Должно вывестись примерно следующее:
Скопируем bzImage по найденному пути:
Построение Android
Установим окружение для сборки:
Теперь все готово к тому, чтобы начать компиляцию исходников Android. Первым шагом необходимо указать цель для сборки:
После выполнения команды вы увидите информацию о предстоящей сборке:
Затем необходимо запустить сборку исходников командой make. Хорошим тоном считается сохранять лог сборки, это можно сделать с помощью утилиты tee.
Процесс сборки может занять значительное время, конкретные цифры зависят от мощности центрального процессора и объема оперативной памяти машины. На системе, которая использовалась для подготовки статьи это заняло около часа. Рекомендуемое число потоков для сборки можно определить из расчета 2GB оперативной памяти на поток.
При успешной компиляции, последняя строка вывода будет содержать путь и размер образа:
Далее необходимо собрать загрузочный образ для VirtualBox:
Если сборка прошла успешно, в консоли должна появиться запись:
Настройка VirtualBox
Эмулятор Jelly Bean
Сборка эмулятора мало чем отличается от сборки версии для VirtualBox. Если у вас уже есть исходные коды, то приступайте к сборке с шага инициализации окружения. Для чистоты эксперимента, будет процесс постройки эмулятора будет изложен с самого начала. Поэтому создадим отдельную директорию для Jelly Bean Emulator и повторим уже знакомые шаги.
Загрузка исходных кодов
Выбор сборки эмулятора
В случае успеха вы увидите:
Пока идет процесс компиляции, скопируем конфигурационный файл и соберем ядро для эмулятора.
Теперь сборка эмулятора завершена.
Самый простой способ запустить его:
Например, можно запустить с только что собранным ядром, с разрешением 480×800, объемом оперативной памяти 512 мегабайт и включенным аппаратным ускорением графики.
Более подробно о возможностях и настройках эмулятора можно прочитать здесь
Источник
What is new?
- 2019-01-15: The Android-x86 8.1-r1 released (the first stable release of oreo-x86).
- 2018-10-18: The Android-x86 8.1-rc2 released (the second release candidate of oreo-x86).
- 2018-09-28: Mauro Rossi talks about Android-x86 status update and graphics stack evolution in XDC2018.
- 2018-06-18: The Android-x86 8.1-rc1 released (the first release candidate of oreo-x86).
- 2018-05-03: The cm-x86-14.1-r2 is released (the second stable release of cm-14.1-x86).
- 2018-05-02: The Android-x86 7.1-r2 released (the second stable release of nougat-x86).
- 2018-02-14: The cm-x86-14.1-r1 is released (the first stable release of cm-14.1-x86).
- 2018-02-06: The Android-x86 7.1-r1 released (the first stable release of nougat-x86).
- 2017-11-15: The cm-x86-14.1-rc1 is released (the first release candidate of cm-14.1-x86).
- 2017-10-10: The Android-x86 7.1-rc2 released (the second release candidate of nougat-x86).
- 2017-09-10: The oreo-x86 branch is ready for developers.
- 2017-06-08: The Android-x86 7.1-rc1 released (the first release candidate of nougat-x86).
- 2017-04-24: The Android-x86 6.0-r3 released (the third stable release of marshmallow-x86).
- 2017-01-17: The cm-x86-13.0-r1 is released (the first stable release of cm-13.0-x86).
- 2017-01-13: The Android-x86 6.0-r2 released (the second stable release of marshmallow-x86).
- 2016-10-12: Remix OS for PC version: 3.0.206 is available for download.
- 2016-10-04: The git hosting is moved to OSDN.
- 2016-09-30: The cm-x86-13.0-rc1 is released (the first release candidate of cm-13.0-x86).
- 2016-09-13: The Android-x86 6.0-r1 released (the first stable release of marshmallow-x86).
- 2016-08-26: The nougat-x86 branch is ready for developers.
- 2016-08-24: Google released the source code of Android 7.0 (Nougat).
- 2016-08-17: Remix OS for PC — Android M rc2 (version: 3.0.201) on Android-x86 project is available for download.
- 2016-08-15: The Android-x86 6.0-rc2 released (the second release candidate of marshmallow-x86).
- 2016-08-11: The Android-x86 Analytics Program is launched.
- 2016-07-26: Remix OS for PC — Android M Version on Android-x86 project is available for download.
- 2016-07-06: Remix OS for PC — Latest version built (version: 2.0.402) on Android-x86 project is available for download.
- 2016-06-08: The Android-x86 6.0-rc1 released (the first release candidate of marshmallow-x86).
- 2016-04-23: OSDN offers a download page for Android-x86.
- 2016-03-02: Remix OS for PC — Beta version built on Android-x86 project is available for download.
- 2016-02-06: The Android-x86 4.4-r5 released (the fifth stable release of kitkat-x86).
- 2016-02-05: FossHub offers a download page for Android-x86.
- 2016-01-29: An updated test image of marshmallow-x86 is available to download.
- 2016-01-27: The kernel-4.4 branch is pushed to the git server.
- 2016-01-23: The Android-x86 4.4-r4 released (the fourth stable release of kitkat-x86).
- 2016-01-13: Remix OS for PC (Alpha version) built on Android-x86 project is available for download.
- 2016-01-07: The marshmallow-x86 branch is updated to Android 6.0.1_r10 release (Marshmallow-MR1).
- 2015-12-25: The marshmallow-x86 branch is updated to Android 6.0.1_r3 release (Marshmallow-MR1).
- 2015-12-12: The «Console OS» is a scam which makes use of Android-x86 now. Please help to stop it.
- 2015-12-02: A test image of marshmallow-x86 is available to download.
- 2015-11-28: Android-x86.org gives a talk at OS2ATC 2015.
- 2015-10-13: The official git server is moved to SourceForge.
- 2015-10-10: The marshmallow-x86 branch is ready for developers.
- 2015-10-07: The Android-x86 5.1-rc1 released (the first release candidate of lollipop-x86).
- 2015-10-06: Google released the source code of Android 6.0 (Marshmallow).
- 2015-07-17: The Android-x86 4.4-r3 released (the third stable release of kitkat-x86).
- 2015-04-14: The new kernel branch android-4.0 based on vanilla kernel 4.0 is ready for testing.
- 2015-04-07: The git server git.android-x86.org is back.
- 2015-03-31: The git server was down. We are sorry for it.
- 2015-03-18: The lollipop-x86 branch is updated to Android 5.1.0_r1 release (Lollipop-MR1).
- 2015-01-01: The Android-x86 4.4-r2 released (the second stable release of kitkat-x86).
- 2014-12-25: The new kernel branch android-3.18 is available in the git server for testing.
- 2014-11-06: The lollipop-x86 branch is ready for developers.
- 2014-11-04: Google released the source code of Android 5.0 (Lollipop).
- 2014-09-14: An image for ASUS Transformer Book T100TA is released for testing.
- 2014-08-28: The kitkat-x86 branch is updated to Android 4.4.4_r2 release (Kitkat-MR2.2).
- 2014-08-08: The Android-x86 4.4-r1 released (kitkat-x86).
- 2014-07-31: The installer now supports read-write mode installation on ntfs and vfat.
- 2014-05-20: The Android-x86 4.4-RC2 released (kitkat-x86).
- 2014-04-18: Add ntfs/exfat/ext4 support to vold.
- 2014-02-14: The Android-x86 4.4-RC1 released (kitkat-x86).
- 2013-12-17: The kitkat-x86 branch is updated to Android 4.4.2 release (kitkat-mr1).
- 2013-12-10: The kitkat-x86 branch is updated to Android 4.4.1 release.
- 2013-11-04: The kitkat-x86 branch is ready in git.android-x86.org. It’s in early stage and buggy. Call for developers.
- 2013-11-01: Google announced Android 4.4, the KitKat release.
- 2013-07-25: Test build 20130725 of jb-x86 based on Android 4.3 is ready for downloading.
- 2013-07-24: Google announced Android 4.3. The source code is released.
- 2013-06-23: Android-x86 4.0-r1 is released.
- 2013-06-08: Joe Spencer created a supported device list.
- 2013-02-28: A new test build of jb-x86 is available for downloading.
- 2013-01-16: The jb-x86 source tree is ready for downloading.
- 2013-01-02: Android-x86 at Google code is unbanned. Thanks to everyone who help this.
Project Goal
To provide complete solution for Android on Eee PC platforms first and then to provide solutions for common x86 platforms as well.
Screenshots
Surf the Internet | Play Video |
View Photos | Wifi Status |
More screenshots can be found here.
Tested platforms
The tests are done by the project members and others from android-porting group.
- ASUS Eee PCs/Laptops
- Viewsonic Viewpad 10
- Dell Inspiron Mini Duo
- Samsung Q1U
- Viliv S5
- Lenovo ThinkPad x61 Tablet
Most of the models can run the native resolutions via i915 driver. Thanks to the kernel mode setting (kms) feature introduced since kernel 2.6.29.
Features
Source code
We provides a complete, compilable and workable source tree. Read GetSourceCode for how to use it.
Development (2019/03)
What we are working on now
- Android 9.0 (Pie) porting (pie-x86 branch)
- Upgrade kernel to 4.19
- OpenGL ES hardware acceleration for intel/radeon/nvidia/amdgpu (pstglia, mauro) and virgl(robh) GPUs.
- HDMI audio (cwhuang)
- LineageOS integration (jjm)
- Hardware accelerated codecs
To do list
- Multiple displays support
- Better power management
- Miracast
Join us
Sponsors
- Sponsored by Onlinecasino24.org.
- Sponsored by Allvideoslots.com.
- Thanks to www.newcasinosonline.co for contributing for our website.
- Sponsored by GoWin — PayPal Casinos and Presented by Slotsify — Alla Casinon i Sverige.
- Thanks to casinobonuses.com — The best way to compare casino bonuses.
- A big thank you to Ready Slots Go for contributing to this page.
- Sponsored by KingCasinoBonus.co.uk – mobile casino reviewer.
- Sponsored by Terrarium tv.
- Sponsored by SlotsAdviser.com — the #1 online slots portal in the UK and an Android mobile casinos fan.
- Thanks to Coffee Corner for buying us a drip coffee maker.
- Sponsored by the best bookmaker in the world, bet365 and by newfreespinscasino.com which offers an unique bitcoin casino list.
- Sponsored by StickerYou.com, manufacturers of quality Custom Stickers and Custom Labels.
- Sponsored by Showbox and Customer Service Number
- Acuity Training for various technical advice.
- Sponsored by 9APPS APK DOWNLOAD & Android Apps Free Download.
- Sponsored by TutuApp.
- Sponsored by Lucky Patcher Apk & Freedom Apk.
- Sponsored by Lucky Patcher and Microsoft Support.
- Supported by Official ShowBox Website, ShowBox APK and FaceTime for PC.
- Sponsored by ShowBox for Android & ShowBox APK file.
- Sebastian Albrecht from Vancouver special, Lorne Marr, Toronto Realtor Elli Davis, and Chantal Marr from No medical life insurance for their support.
Credit
- Current project maintainer is Chih-Wei Huang (cwhuang@android-x86.org).
- 0xlab, a group of engineers enthusiastic in open source software development , contributed many fixes and improvements to the Android frameworks, included the OpenGL ES hardware acceleration for Android-x86.
- Michael Chen who developed the stagefright-plugins to improve the multimedia support.
- Dima Zavin , the original guy ported the Android to EeePC 701
- Geunsik Lim , wrote original «HOWTO Build Android-X86 Full Source» and «How to use x86 android platform on virtualbox «
- Chen Yang for the instructions on the how to make boot-able image and how to build Android for VMware, and investigations on almost all of the build breaks and run time issues
- Jackie Wu for the fix in alarm.c
- Niels Keeman for the investigation on the path issue in the battery service jni code, v4l2 camera support ( android-m912 project)
- Luca Belluccini for the first patch to fix the path issue in the battery service jni code
- Kevin Jeng for adding the mouse wheel support
- Andrew Hughes for the works on iwlwifi4965 and Thinkpad x61 testing
- Al Sutton for testing and work on the ViewSonic ViewPad 10
Of course, there are other people who gave helps. But there are too many e-mails and it is very hard for me to go through each e-mail to find the related person to list here. So, if you think we missed your name here, please kindly drop us an e-mail ( contact at android-x86.org ).
Источник