- What is the Android Open Source project?
- Open and free
- The Google flagship
- Google Pixel 6 Pro — 5G
- These are the best USB-C cables you can find for Android Auto
- These are some of the best Google Pixel 6 screen protectors you can buy
- Don’t miss out on the very best smart lights for gaming
- Jerry Hildenbrand
- Что такое AOSP
- Что такое AOSP
- Где скачать исходные данные
- Преимущества и недостатки AOSP
- Значимость и будущее AOSP
- Вывод
- Загрузка и сборка AOSP
- Загружаем AOSP
- Сборка
- Готовим IDE для отладки
- Запускаем отладку
What is the Android Open Source project?
Source: Jerry Hildenbrand / Android Central
Best answer: The Android Open Source Project is the core of the Android software that runs on your phone. It’s free and anyone can modify it but it isn’t enough to power a device on its own.
Open and free
Source: Google
Android is a free open-source operating system. The AOSP (Android Open Source Project) is free to download, free to alter, free to build into a product that can power just about anything. But it’s not something you’ve ever used when you picked up a phone or other gizmo that runs «Android» because it’s not really a complete operating system.
The AOSP isn’t everything you need to power a device but it’s a huge chunk of it.
At its heart, Android is nothing more than a platform that anyone can use to run applications plus the bits and pieces needed for it to talk to standard hardware. We tend to think of Android as an operating system for a phone or tablet (or even a watch or television), but it’s just a part of the software needed to get any device to turn on and do things. That being said, it’s one of the most important parts.
Having a huge library of code that anyone can use is great. Having all the things people build with it able to use the same applications is even better. It’s better for us because we will have a huge list of applications that work out of the box when we buy an Android-powered device. It’s better for the companies making the devices because we’ll want to buy them and they don’t have to put in the work to build their own application platform. It’s also great for Google because it means more devices will be able to use the internet and its services.
Source: Google
That last part is why Google maintains the AOSP. Google has always held the belief that everyone should have access to the internet. While some of the reasons may be altruistic and good-natured, the main reason Google as a company has these goals is because the internet is how it makes money. All companies exist to make money, but with the AOSP, Google has found a new way to make money from everyone while giving away one of its most expensive products: Android.
Google isn’t the only company that builds the AOSP.
This is done through the AOSP. Google maintains the Android source code. That means exactly what you think it does: It keeps things clean and tidy and up-to-date, then makes it available for other people. It also has people working full time to make improvements and add new features to Android.
All of this is made available for anyone to freely use under a liberal license that allows changes to be made to the code and not submitted back to the maintainers. This means Samsung is allowed to do whatever it wants with the AOSP and doesn’t have to share what it has done with anyone. So are you, and so am I. If we do something different, we can keep those changes to ourselves to offer a (hopefully) better product than anyone else can.
Source: Nick Sutrich / Android Central
But the phones and gadgets we buy aren’t running the AOSP as an operating system. What we see is the end result of someone or some company using it to create software that is unique and their own. This can be done by changing the code or by adding more code or even adding applications that aren’t open-sourced like the AOSP is. Every company that sells Android-powered gadgets, including Google itself, is doing this.
Even Google’s own phones aren’t using an open-source version of Android.
This fits into Google’s methods to make money because there are some restrictions when a company wants to use Google’s popular applications and services. If a company wants to include Google’s mobile services (and almost all phone makers do) it has to adhere to rules as a Google partner. Those rules make sure everyone knows about Google’s money-making products.
The process is a circle. Google gives Android away. A company uses it on its phone. As consumers, we want Android phones that can use Google Play and Gmail and Google Photos and all the other things that make Android great. The company making the phone can bundle those features in for free as long as it makes sure its product can use every other application found in the Google Play store. Phone manufacturers, like Samsung, save time and money by not building their own application platform and application storefront; we get the best Android phone with access to all the apps we love plus a market with over a million others, and Google gets a lot of people using its services and being on the internet to see Google’s ads.
By making Android a big piece of an operating system that anyone can use for free, Google’s investment in it pays off.
This couldn’t happen without Android being free to use, so the time and money Google invests in Android makes it a very lucrative part of its business. By providing Android as source code anyone can use instead of a standalone product like Windows, Google can reap the benefits while another company does the work of building and maintaining a living operating system. AOSP means everyone wins, and that’s the way we like it.
The Google flagship
Google Pixel 6 Pro — 5G
The Pixel 6 Pro is Google’s first no-compromise high-end phone. From the display to the camera setup and the promised five years of security updates, this is a serious flagship phone that’s worthy of your attention.
We may earn a commission for purchases using our links. Learn more.
These are the best USB-C cables you can find for Android Auto
Android Auto is an absolute necessity when driving, regardless of whether you’re headed out to the grocery store or for a long road trip. These cables will ensure your phone stays protected and charged, no matter what.
These are some of the best Google Pixel 6 screen protectors you can buy
If you can’t wait to get your hands on the new Google Pixel 6, don’t forget to think about buying a screen protector for it as well. We’ve rounded up some of the best picks!
Don’t miss out on the very best smart lights for gaming
Smart lights aren’t just for the living room. They can also be used to amp up your gaming setup, whether you want to make your desk flashier or install lights that react to the game you’re playing. Here are some of our favorite options.
Jerry Hildenbrand
Jerry is an amateur woodworker and struggling shade tree mechanic. There’s nothing he can’t take apart, but many things he can’t reassemble. You’ll find him writing and speaking his loud opinion on Android Central and occasionally on Twitter.
Источник
Что такое AOSP
Разд е л: Новичкам Дата: 23.08.2019 Автор: Александр Мойсеенко . Комментариев: 0
Последнее обновление: 26/08/2020
Исходный код ОС Android находится в свободном доступе, что позволяет разработчикам и компаниям создавать собственные версии прошивки для различных устройств. Для облегчения такого процесса в Google организовали и поддерживают соответствующий проект – AOSP. Какие возможности, преимущества и недостатки такого проекта, вы узнаете из данного материала.
Что такое AOSP
AOSP – сокращение Android Open Source Project, что переводится как проект Android с открытым исходным кодом. Проект представляет собой хранилище с открытым доступом, где содержатся исходные данные и другая информация необходимая для создания пользовательских версий операционной системы Android. А регулярная поддержка со стороны корпорации Google и других участников, способствует внедрению новых функций и возможностей.
Цель AOSP в предотвращении монополии или ограничительных действий со стороны других компаний, когда один производитель способен контролировать развитие остальных игроков на рынке. Поэтому AOSP представляет собой полноценную прошивку с настраиваемым исходным кодом, что легко адаптировать под различное устройство: смартфон, планшет, бортовой компьютер автомобиля или другого транспорта.
Где скачать исходные данные
Для AOSP разработан соответствующий ресурс source.android.com. На сайте содержится актуальная информация, свежие файлы, требования, рекомендация и новости. А справочная информация и сборка инструментов облегчит процесс разработки.
Преимущества и недостатки AOSP
Положительная сторона проекта в свободе выбора для производителей электроники и независимых разработчиков. Любой желающий вправе взять исходные файлы и собрать прошивку для различных устройств с наиболее предпочтительным набором приложений и функций. Причем платить отчисления Google не придется. К такой прошивке легко привязать различный интерфейс, один или несколько магазинов приложений.
Недостаток AOSP – невозможность конкурировать с версией Android разрабатываемой Google. Дело в том, что поисковый гигант развивает ту версию Android, что стоит на большинстве продаваемых устройств и неспешно добавляет аналогичные функции в версию AOSP. Противоречивые сервисы Google содержат основную функциональность операционной системы: магазин приложений, синхронизация данных, резервное копирование, обновление системы безопасности и многие мелкие детали, что малозаметны при повседневном использовании прошивки. А при соблюдении определенных договоренностей, производители получают денежное вознаграждение за счет рекламы.
Как бы некоторые пользователи не возмущались по поводу высокой нагрузки на систему со стороны Google сервисов, без GAPPS такая прошивка никому не интересна, поскольку в ней ничего нет. Ещё и не каждый крупный производитель способен создать, развивать и поддерживать магазин приложений, способный конкурировать с Google Play. Поэтому большинство разработчиков выпускают кастомные прошивки на основе AOSP, внедряют дополнительные функции, а в публикациях отдельно прилагают Google сервисы для самостоятельной установки. Благодаря этому удается избежать ответных мер со стороны поискового гиганта.
Значимость и будущее AOSP
В 2014 году доля AOSP прошивок на рынке составляла 20%. Впечатляющая цифра достигалась преимущественно за счет китайских и индийских разработчиков, что собирали прошивки для доступных мобильных устройств. На такую меру приходилось идти для экономии на сертификации в лаборатории Google. Да и стандартная версия прошивки с трудом работала на 1-2 ядерных платформах с 256 или 512 МБ оперативной памяти. Из-за чего требовалась максимально облегченная прошивка.
В Google быстро поняли, что потенциальная прибыль с рекламы идет мимо кассы. Поэтому для снижения доли AOSP прошивок пришлось ввести некоторые ограничения для сторонних прошивок. А ещё оперативно разработать облегченную версию Android Go для маломощных устройств. Благодаря активным действиям долю устройств на AOSP удалось сократить.
Впрочем, значимость AOSP вскоре может увеличиться. Компания Huawei находясь под санкциями со стороны США, лишена возможности использовать Android с сервисами Google. Поэтому единственный способ развивать рынок мобильных устройств – использовать переработанную прошивку на AOSP, а так же развивать собственные приложения и сервисы. Для Google такой сценарий неприемлем, так как другие компании могут повторить опыт китайского производителя. В лучшем случае у Google появится сильный соперник.
Вывод
В статье подробно описано, что такое AOSP, каковы возможности, преимущества и недостатки прошивки с исходным кодом. Для разработчиков и энтузиастов прошивка позволяет поэкспериментировать, а ещё создать уникальный образ или реализовать интересные функции и возможности. При этом проект AOSP ориентирован только на ограниченную аудиторию и без отсутствия должной поддержки не подходит для регуляторного использования. Кроме того без сервисов Google такая прошивка проигрывает по всем параметрам.
Возможно ситуация изменится в следующем году, если в Huawei закончат разрабатывать собственную прошивку на AOSP. У компании имеется определенный запас прочности и поддержка китайского правительства для развития аналогичной Google экосистемы. При этом не исключено, что американская компания начнет всячески вставлять «палки в колесо» Huawei и не допустить потерю финансов на рекламе.
А вы пользовались прошивками на AOSP? Оставляйте комментарии с мыслями и отзывами касательно прошивок с исходным кодом.
Источник
Загрузка и сборка AOSP
Решил поделиться своей инструкцией как собрать AOSP (Android Open Source Project). Эта инструкция будет полезна тем кто хочет посмотреть что-же внутри Android и возможно заняться системной разработкой. В любом случаи эти знания полезны для понимания самого Android, как раз для этого и решил собрать AOSP.
Проект собираю на elementary 5.1 OS Ubuntu 18.04 LTS (bionic), пытался на MacOS собрать, но так и не удалось. Для исходников и сборки нужно 200 Гб на жестком диске (лучше SSD, на обычном производительность сильно проседает). Так же много времени, я потратил чтобы скачать и собрать около 20 часов, частично виновата «слабая» конфигурация моего компьютера. У меня установлено всего 8 Гб оперативной памяти, но увеличил размер swap-а до 16 Гб.
Загружаем AOSP
Установить требуемые пакеты для загрузки и сборки :
Создаем папку и качаем repo утилиту для загрузки исходного кода
Исходники AOSP состоят из отдельных проектов с собственными git-репозиториями, repo позволяет упросить всю загрузку всех проектов и разложить по нужным папкам.
- -u — урл git-репозитория с манифестом
- -b — ветка (самая последняя на текущий момент)
- —depth — скачивать только одну ветку (если не использовать, то для каждого репозитория скачается весь индекс, что увеличит время загрузки и место на диске)
Выбрал самую последнюю версию Android 10. Не использую develop или master, так как там устаревший манифест и проект скорее не соберется.
Теперь можно запустить загрузку исходников AOSP
- -c — скачивать только текущую ветку манифеста (как указал выше — android-10.0.0_r45)
- -j — количество потоков, обычно указывается столько доступно процессоров
- —no-tags — не скачивать тэги с репозитариев
- —no-clone-bundle — не пытаться качать clone.bundle (упакованная репа, которая уменьшить время на загрузку, но не у всех сервер формирует этот bundle),
—no-clone-bundle можно попробовать убрать, что в теории ускорит скачивание, но у меня заваливается с 404 ошибкой
Скачивание может занять минуты и часы, теперь с repo закончили, если нужно почитать больше то ищите в официальной документации: https://source.android.com/setup/develop/repo
Сборка
Настраиваем среду разработчика:
x86_64 — указывается под какой девайс собирать, в данном случае Generic x86_64 подходит для эмуляторов, если будете запускать на Nexus девайсах, то ищите детали в документации https://source.android.com/setup/build/building#choose-a-target
eng — тип сборки (сокращение от engineering), с максимальными логами и дополнительными утилитами для отладки. Другие тип сборки думаю не особо интересны
Для сборки java файлов увеличиваем Heap size, если этого не сделать, то сборка всего завалится с StackOverflow ошибкой:
Так же можно добавить в .bashrc чтобы постоянно не повторять команду
Все, теперь готовы к сборке:
Можно не использовать CCACHE, что уменьшит количество занимаемого места на диске, но увеличит время повторной сборки. На моем «слабом» компьютере сборка заняла где-то 16 часов.
После окончания сборки, запускаем эмулятор:
-show-kernel — выводить уведомления в консоль
Если нажать Enter, то попадем в консоль эмулятора
Если эмулятор не запустился, нужно будет проверить что включена виртуализация
Готовим IDE для отладки
Для начала необходимо сгенериовать проект для IDE, проект генерируется для IDEA. Собираем модули для генератора:
Чтобы весь AOSP затолкать в проект, то просто запускаем генератор
Но сгенерированный IDEA проект будет очень «тяжелым». Одно открытие и индексация занимает достаточно много времени. Лучше генерировать IDEA проект для каждого отдельного проекта, например для Android фреймворка
Весь список доступных проектов можно посмотреть в
Открываем сгенерированный base.iml (находится в папке frameworks/base) в IDEA. Дальше нужно настроить Java, только нужно подключать java без библиотек, так как у AOSP-а свои реализации.
Запускаем отладку
Для начала необходимо запустить monitor
возможно потребуется дополнительно поставить jre
sudo apt install openjdk-8-jre-headless
Выбираем процесс, который будем отлаживать. В monitor-е выбираем процесс и справа от порта процесса появится /8700, это как раз порт отладчика, к нему можно подключаться через IDEA.
Все системные штуки находятся в system_process. Его мы и будем отлаживать.
monitor один самых полезных инструментов при отладке и исследования работы AOSP
В проекте добавляем новую Remote конфигурацию, только указываем 8700 порт. Именно к этому порту и будем подключаться
Запускаем Debug (Run → Debug)
Чтобы удостоверится, что все подключилось поставьте брейкпоинт в frameworks/base/services/core/java/com/android/server/wm/ActivityTaskManagerService.java файле на метод:
и запустить любое приложение на эмуляторе (например, Settings).
Источник