Build android mac os

Build android mac os

Disclaimer: it’s translation of my article that was written in Russian some time ago. All mentioned versions of software are outdated now. But anyway, it can be helpful :).

For one of my projects I needed to improve original Android sources to create firmware for specific hardware. The version of Android was chosen quite old — AOSP 4.0.4 but it was necessary because stable version of sources for our hardware was based on this version. The next issues was my work environment. Besides Android development I’m working with iOS so I have to use Mac OS X and Xcode as development environment.

The main issue in my case was broken AOSP build system for outdated versions of OS. While building of master branch is simple task, building of older versions of Android under new Mac OS X demands some patience and fixing a few bugs in build system.

My work environment looks like this:

  • AOSP 4.0.4 r1.1 (alongside with 4.0.3 and 4.1.1)
  • Mac OS X 10.7.5
  • Xcode 4.6.3 and command line tools
  • GNU Make 3.81

All essential moments and complications of AOSP build process is described in official documentation. The documentation gives us information that Mac OS 10.5 or 10.6 are necessary to build 4.0.x branch, also Xcode 3.14 is recommended version of Xcode. Additionally, in the «Known issues» section, mentioned that Mac OS 10.7 isn’t supported for 4.0.x branch.

I was using Mac OS and Xcode for iOS development and I had no intention to move back on previous versions of software. As well as I wanted to solve this quest but not to avoid it.

Solution

The initial configuration is well described in official documentation and was set up on my computer: created case-sensitive disk image, installed necessary tools, downloaded sources of Android. And then I ran build with full-eng profile.

Bellow I give descriptions of the issues and solutions for them. They can appear fully or partially, it’s related to used version of AOSP and current build environment. In addition to AOSP 4.0.4, 4.0.3 and 4.1.1 were checked too. There is the following trend: the more newer version of AOSP than less issues appear but first 2 issues have place everywhere. Separately necessary to note that emulator will be build correctly and can ne used without problems after all fixes described bellow.

To solve issue with compilator, you need to use the command listed bellow. The vital part is CC=»gcc» CXX=»g++», alongside with these parameters you can use other in any order or combination.

So, will look on the issues what you can see while the building process (besides described in the documentation).

Issue 1
Solution 1

You need to apply the patch https://bugs.webkit.org/show_bug.cgi?id=92264. But this patch will be applied with minor error because of difference in context. It’s necessary to check rej file and remove a few of old lines which cause the error. The target directory for patch is /external/webkit/.

Читайте также:  Возможно не установлен установщик windows что это
Important

While project linking, on final stage of building, you can see the following issues:

It happens in relation to changes into CSSParser. Here appears a strange mystery of linker (you won’t see such issues for 4.1.1 version). To fix the issue you need to include any changes to CSSParser (but not a comments, something what compiler will count). I changed definition of this method from cssyyparse(void*) to cssyyparse(WebCore::CSSParser*) or in reverse order. Then you can start rebuild and all will be fine.

Issue 2
Solution 2

Move definitions to file /external/srec/portable/include/PortExport.h from master branch to current branch.

Issue 3
Solution 3

Add library LOCAL_SDL_LDLIBS += /usr/lib/dylib1.o to /development/tools/emulator/opengl/tests/translator_tests/ for /GLES_V2/Android.mk and /GLES_CM/Android.mk.

Issue 4

Different definitions of the method strnlen in system and local files. Unfortunately, I didn’t save log for this issue but you can understand that when see mentioning of strnlen.

Solution 4

Add condition for method strnlen to /external/elfutils/config-compat-darwin.h:

Issue 5

Choosing version of SDK by version of Mac OS to build emulator. It’s without log, similar to previous issue. But you will understand when see mentioning of qemu.

Solution 5

Replace condition for Mac OS version in /external/qemu/Makefile.android:

And add inclusion of libraries for Mac OS:

Issue 6

You can see the following issue if you’ve OS on drive with case-sensitive file system:

Solution 6

The cause of the issue is simple — misprint in the name of .h file. Instead of the capital ‘K’ is used small ‘k’. Usually, this type of the issues won’t appeared because Mac OS installs on drive with case-insensitive file system. To fix the issue you just need to replace letter to the correct one.

Conclusion

It’s better to build Android under Linux systems but not under Mac OS :). You can use virtual box or just use separate installation of Linux on your computer. As I see, Mac OS can only be a partial alternative for AOSP build environment. Especially considering that all variations of build environment are not checked when Android moves further.

Источник

Как настроить Android Studio на вашем Mac (и почему вы этого хотите)

Вам может понадобиться Mac, чтобы создавать свои собственные приложения для iOS

, но если вы больше похожи на зеленых пришельцев, Android IDE (интегрированная среда разработки) также доступна на OS X (среди других платформ).

Если вы готовы перейти от создания приложений для iPhone

или вам не терпится создать следующую большую вещь для Android, установка IDE — это первый шаг в этом путешествии. Или, если мы движемся слишком быстро, почему бы вам не начать с курса

Зачем беспокоиться с Android?

Если вы разбираетесь в разработке для OS X и iOS, вы можете спросить себя, зачем вообще беспокоиться об Android?

Многие разработчики iOS уклоняются от Android из-за фрагментации устройства и необходимости дальнейшего исправления / повторного создания приложений для разных версий ОС, которых много. Я не буду пытаться продать вам, какой из этих двух вариантов лучше, так как они оба предлагают многочисленные преимущества для разработчиков, но я скажу, что для создателей приложений, которые хотят зарабатывать на жизнь своими приложениями, найти какой-то баланс между устройствами никогда не бывает плохой идеей.

Читайте также:  Что форматируется при переустановке windows

Кроме того, вы обнаружите, что общий опыт работы с Android гораздо менее строг. С одной стороны, Google Play (Android App Store) не имеет многих из тех же ограничений, что и Apple, и не требует от разработчиков ежегодной платы в 99 долларов (для Google — 25 долларов). Google предоставляет вам доступ к внутренним функциям Android (посредством модели с открытым исходным кодом), которая позволяет создавать такие вещи, как эмуляторы, загрузчики и настраиваемые доки, значки, стартовые экраны — как вы это называете — что просто невозможно в iOS ,

Если вы строго следите за показателями доходов, Apple App Store по-прежнему будет вашей основной целью. В то время как Google Play имеет на 60 процентов больше ежегодных загрузок, чем App Store, Apple App Store фактически приносит на 70 процентов больше годового дохода от приложений. Это не значит, что вы не можете быть прибыльным на Android или что вам следует избегать платформы в целом, на самом деле, наоборот.

В то время как приложения могут иметь более высокие показатели дохода в Apple App Store, показатели загрузки значительно выше в Google Play, что делает его интересной платформой для тестирования и настройки бесплатного приложения перед выпуском премиум-версии или бесплатной версии.

Затмение с ADT или Android Studio?

В прошлые дни у вас был постоянно запутывающийся выбор между пакетом, включающим Eclipse и плагином ADT (Android Developer Tools), или официальной Android Studio, основанной на платформе IntelliJ — IDE на основе Java.

К счастью, в последних итерациях процесс несколько упростили, выпустив всего одну версию Android Studio.

Фактически, хотя возможность использования Eclipse все еще существует, Google официально рекомендует начать процесс перехода на Android Studio, поскольку поддержка ADT заканчивается. Если вам нужна помощь в переносе ваших проектов, вам поможет эта статья в блоге разработчиков Android.

Теперь, если вы просто ищете эмуляторы, которые поставляются в комплекте с Android Studio, важно отметить, что есть и другие, более легкие способы

сделать это на вашем ПК с Windows, OS X или Linux без необходимости загружать и устанавливать Android Studio. На Mac попробуйте BlueStacks, или вы можете просто загрузить и запустить Android на вашем ПК с Windows. Если вы ищете сверхлегкую эмуляцию Android, попробуйте этот браузерный эмулятор для Chrome

Начало работы с Android Studio

Сначала мы должны загрузить и установить Android Studio, пакет, который состоит из:

  • Android Studio IDE
  • Android SDK (комплект разработки программного обеспечения)
  • Платформа Android 5.0 (Lollipop)
  • Образ системы эмулятора Android 5.0 с API Google

Запустите файл .dmg и перетащите Android Studio в папку «Приложения».

Откройте Android Studio и следуйте инструкциям мастера установки. Иногда вы сталкиваетесь с ошибкой, когда файл «поврежден» или ненадежен и должен быть перемещен в корзину. Если это произойдет, вам просто нужно настроить параметры безопасности и конфиденциальности, чтобы приложение могло работать, перейдя в Системные настройки> Безопасность Конфиденциальность > генеральный а затем выбрав В любом месте где написано «Разрешить загрузку приложений из:»

Если вам нужно использовать инструменты Android SDK из командной строки, вы можете получить к ним доступ, открыв Терминал (Приложения> Утилиты> Терминал) и используя следующее:

Читайте также:  Распространяемый пакет microsoft visual c windows 10

/ Users / имя пользователя / Library / Android / SDK /

Просто не забудьте добавить свое имя пользователя вместо имя пользователя .

Добавление пакетов SDK

Android SDK (комплект разработки программного обеспечения), который поставляется с пакетом Android Studio, не включает в себя все необходимое для разработки приложений для Android. Сам SDK — это утилита, используемая для разделения ваших инструментов, платформ и компонентов на пакеты с помощью Android SDK Manager.

Поэтому нам нужно добавить несколько пакетов, чтобы подготовить все к разработке. Не волнуйся, это простой процесс.

Сначала откройте менеджер SDK под Сервис> Конфигурировать> SDK Manager.

Замечания: С этого момента, чтобы быть кратким, мы будем предполагать, что если я не упомяну что-то конкретно, это означает одну из двух вещей:

  1. Он предварительно выбран и будет установлен автоматически, как только мы закончим.
  2. Вам это не нужно … по крайней мере, прямо сейчас.

Хорошо, давайте продолжим. Выберите следующее:

  • Инструменты Android SDK
  • Android SDK Платформа-инструменты
  • Android SDK Build-tools (самая высокая версия)

Откройте папку для самой высокой версии Android в списке (5.1.1 на момент написания статьи) и выберите:

  • Платформа SDK
  • Изображение системы ARM EABI v7a

Открой Дополнительно каталог и загрузите следующие API для библиотеки поддержки Android:

  • Репозиторий поддержки Android
  • Библиотека поддержки Android

Откройте каталог Extras и загрузите пакет услуг Google Play, чтобы получить еще больше API. Добавлять:

  • Google Repository
  • Сервисы Google Play

  1. Нажмите Установить 22 пакета (или сколько угодно отчетов менеджера SDK).
  2. Нажмите на название каждого пакета слева, чтобы принять условия лицензии для каждого.
  3. Нажмите Установить.

Замечания: Не выходите из SDK manager, пока установка не будет завершена!

После завершения установки вы можете сразу же приступить к разработке

и даже запускать приложения для Android

прямо с вашего верного Mac (или Hackintosh) под управлением OS X.

Портирование приложений iOS на Android

Из-за отсутствия сходства в двух операционных системах нет ничего, что предлагало бы решение «подключи и работай» для переноса приложений из другой ОС.

Тем не менее, есть программа под названием Apportable, которую я чувствовал, стоит отметить. Apportable по сути переводит Swift и Objective-C для запуска машинного кода ARM и x86, который способен понять Android. Вы также найдете дополнительные плагины для дальнейшего снижения нагрузки на разработку, такие как плагин SpriteBuilder. Тем не менее, не все API-интерфейсы Apple доступны в Apportable, поэтому, несмотря на то, что это лучшее, что у нас есть, оно по-прежнему не является решением «включай и работай».

Основные преимущества Apportable заключаются в более быстрой кросс-компиляции без необходимости в эмуляторах, виртуальных машинах или альтернативе на Java. В то время как Java обеспечивает отличную кросс-совместимость в мобильных приложениях, она оставляет версии для iOS и Android не очень нативными. На самом деле, большинство чувствуют себя как дешевые порты от других ОС.

Опять же, это не идеальное решение, но оно должно значительно облегчить вашу рабочую нагрузку, если вам придется перемещаться между Android и iOS.

Счастливого развития, и обязательно поделитесь тем, что вы нам придумали, здесь, на сайте Use Use Of.

Вы разработали приложение для iOS или Android? Какая платформа, на ваш взгляд, предлагает лучшие инструменты для разработчиков?

Источник

Оцените статью