как установить android ndk на linux

Почему стоит использовать Android NDK в вашем следующем проекте

Оригинал: Why should you need to pick Android NDK for your next project
Автор: Harigovind Thoyakkat
Дата публикации: 28 марта 2017 г.
Перевод: А.Панин
Дата перевода: 28 апреля 2017 г.

как установить android ndk на linux. Смотреть фото как установить android ndk на linux. Смотреть картинку как установить android ndk на linux. Картинка про как установить android ndk на linux. Фото как установить android ndk на linux

Android NDK (Native Development Kit) является очень популярным инструментарием, используемым для разработки приложений для мобильных устройств. Многие приложения из магазина приложений Android Market используют компоненты, разработанные с использованием языков программирования, отличных от Java, для достижения максимальной производительности. Исходя из этого NDK является инструментарием, помогающим разработчикам создавать компоненты для своих приложений с использованием компилируемых языков программирования для различных целей, начиная с достижения оптимальной производительности и заканчивая упрощением используемого кода.

Для чего и как используется бинарный код

Мы все знаем о том, что процесс разработки приложений для Android тесно связан с использованием языка программирования Java, а также о том, что использование данного языка программирования значительно упрощает жизнь разработчиков, ведь они могут использовать элегантную объектно-ориентированную модель Java. Приложения или алгоритмы, реализованные на языке Java, преобразуются в специальный байткод, который выполняется аналогичным образом на всех поддерживаемых платформах. При этом виртуальная машина Java или JVM (Java Virtual Machine) ответственная за JIT-компиляцию и исполнение байткода Java, доступна практически для всех существующих платформ, начиная с мэйнфреймами и заканчивая мобильными телефонами.

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

Что касается разработки приложений для Android, описанный выше фактор является незначительным недостатком. Но программирование на языке Java может оказаться достаточно сложным ввиду постоянного усложнения кода и затруднения его понимания. Более того, использование мультиплатформенного байткода и виртуальной машины обуславливает значительные затраты вычислительных ресурсов устройства.

Другим важным фактором, который требует внимания, является мультиплатформенный код. Если нам нужно создать программу для множества аппаратных платформ, мы можем переписать большую часть кода, относящегося к контроллеру и отображению, для каждой из платформ, что является не самым разумным решением. Но весь код, относящийся к контроллеру, должен быть обязательно портирован на языки C и C++, так, как практически все мобильные платформы поддерживают их; таким образом, если нам удастся реализовать логику в рамках библиотек на языках C и C++ и впоследствии использовать ее на нескольких платформах, нам удастся максимально сократить потери производительности приложения. В подобных случаях мы будем использовать код на языках C и C++ вместе с привычным кодом на языке Java или «мультиплатформенным кодом».

Использование Android NDK

Android NDK является инструментарием, позволяющим реализовывать части приложения для Android на таких компилируемых языках программирования, как C и C++ и содержит библиотеки для управления активностями и доступа к физическим компонентам устройства, таким, как различные сенсоры и дисплей.

Android NDK интегрирован с инструментами из набора компонентов для разработки программного обеспечения (Android SDK), а также с интегрированной средой разработки Android Studio или устаревшей средой разработки Eclipse ADT. Однако, NDK не может использоваться отдельно.

Принцип работы Android NDK

Мы можем использовать ключевое слово native для того, чтобы компилятор знал, что данный фрагмент реализован в рамках компилируемого кода. Например:

Весь компилируемый код исполняется посредством интерфейса под названием Java Native Interface (JNI), который позволяет связать друг с другом компоненты на языках Java и C/C++.

Установка и использование Android NDK в Ubuntu

Android NDK поставляется в формате самораспаковывающегося архива. По этой причине нам придется лишь установить бит исполнения и распаковать его:

В результате компоненты NDK будут сохранены в текущей рабочей директории.

Распаковка в ручном режиме

Пакет с компонентами архиватора 7-Zip доступен из официального репозитория Ubuntu и может быть установлен, к примеру, с помощью команды apt-get:

Установка с помощью Android Studio

Мы можем установить Android NDK с помощью компонента SDK Manager непосредственно из Android Studio.

Создание или импорт проекта с бинарными компонентами

После настройки Android Studio мы можем создать новый проект с поддержкой языков программирования C/C++. Однако, если нам понадобится добавить или импортировать существующий код на этих языках в проект Android Studio, мы будем вынуждены выполнить описанные ниже действия.

Для начала следует создать новые файлы исходного кода с использованием упомянутых языков программирования и добавить их в проект, открытый в Android Studio. Мы можем пропустить этот шаг, если в проекте уже имеются подобные файлы или нам нужно импортировать в него предварительно скомпилированную библиотеку.

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

Все это свидетельствует о важности Android NDK для разработчиков приложений для платформы Android. Например, данный набор программных компонентов позволяет создателям игровых движков лучше оптимизировать версии своих продуктов для Android, в результате чего они будут выдавать более впечатляющие графические эффекты, затрачивая на них меньше системных ресурсов.

Процесс создания простого приложения на основе Android NDK не связан с какими-либо сложностями. Однако, каждому разработчику следует уяснить один важный момент: набор программных компонентов Android NDK разрабатывался для использования в определенных случаях и не должен применяться при разработке любых приложений.

Android NDK может как помочь в процессе разработки приложения, так и максимально осложнить его. Не является тайной и то, что использование бинарного кода на платформе Android в некоторых случаях не приводит к заметному повышению производительности приложения (хотя в большинстве случаев его производительность все же повышается), но при этом оно в любом случае усложняет его код. Обычно повышение производительности приложений достигается благодаря задействованию кода со специфичными для используемого центрального процессора инструкциями. Но в общем случае рекомендуется использовать NDK лишь тогда, когда производительность приложения является критически важным параметром, а не тогда, когда разработчику удобнее писать код на языках C/C++.

В качестве заключения следует сказать о том, что не существует незыблемых правил, регламентирующих возможные случаи использования NDK, поэтому вам всегда стоит обращаться к своими знаниям, опыту и интуиции.

Источник

Как установить Android ndk в Linux?

Я скачал Android NDK здесь: http://developer.android.com/tools/sdk /ndk/index.html
для Linux 64-битная (x86) android-ndk-r10c-linux-x86_64.bin. Как мне это установить? Инструкции не работают. Моя ОС

6 ответов

Стандартный путь

Android NDK теперь поставляется как самораспаковывающийся исполняемый файл. Скорее всего, вам нужно установить исполняемый бит:

Извлечение вручную

7-Zip доступен в Ubuntu, например, через apt-get:

Обновление
Начиная с версии r14b на странице загрузки NDK мы вернулись к стандартные ZIP-архивы.

Если у вас уже установлена ​​AndroidStudio:

Вы можете установить NDK с помощью SDK Manager из Android Studio

В открытом проекте выберите Инструменты> Android> SDK Manager из строки меню. Нажмите вкладку Инструменты SDK. Установите флажки рядом с LLDB, CMake и NDK. Применить

Перейдите в каталог, где вы его скачали. Затем выполните:

Он должен распаковать прямо здесь. Набор инструментов будет находиться в android-ndk-r10c-linux-x86_64 /toolchains. Корневая папка может иметь немного другое имя.

Я сделал, как показано ниже

Установите 7-Zip через apt-get вот так

перейдите в папку, где находится ваш ndk bin, а затем выполните команду

SLOVE: apt-get install p7zip-full

Я добавил эту строку в свой fstab

b) снова запустите установку NDK
Я снова запустил установку NDK из AndroidStudio. Он должен был скачать ZDK Zip заново. Разверните, что нет функции возобновления /перепроверки для восстановления неработающих установок. Моя скорость загрузки была низкой, поэтому я свернул окно виртуального linux и продолжал читать новости. Позже, я думаю, произошла перестановка памяти /страниц. Загрузка не удалась. Я перезапустил Linux и перезапустил установку NDK таким же образом. На этот раз я позволил виртуальной машине Linux остаться на переднем плане. NDK нормально установлен с этим журналом:

Установка NDK вручную в Linux (предпочтительно) Я поражен тем, что официальный раздел разработчиков Android не удосужился указать точное место установки Android NDK. Android Studio ищет NDK по адресу:

Источник

Как установить android ndk в linux?

Я загрузил android NDK отсюда:http://developer.android.com/tools/sdk/ndk/index.html
для Linux 64-разрядная версия (x86) android-ndk-r10c-linux-x86_64.бункер. Как я его устанавливаю? Инструкции не работают. Моя ОС

6 ответов

Стандартный Путь

NDK Android теперь поставляется как самораспаковывающийся исполняемый файл. Вероятно, вам нужно установить исполняемый бит:

вышеуказанное приведет к извлечению NDK в текущий рабочий каталог.

Извлечение Инструкцию

7-Zip доступен в Ubuntu, например, через apt-get:

обновление
Как минимум r14b на страница загрузки NDK, мы вернулись к стандартным архивам ZIP.

вы можете установить NDK с помощью диспетчера SDK из Android Studio

в открытом проекте выберите инструменты > Android > SDK Manager в строке меню. Перейдите на вкладку Инструменты SDK. Установите флажки рядом с LLDB, CMake и NDK. Применить

перейдите в каталог, в который вы его загрузили. Затем выполните:

Он должен распаковать прямо там. Цепочка инструментов будет находиться в Android-ndk-r10c-linux-x86_64/toolchains. Корневая папка может иметь несколько другое имя.

Я сделал, как показано ниже

установить 7-Zip через apt-get такой

перейдите в папку, где находится ваш NDK bin, а затем выполните команду

slove: apt-get install p7zip-full

у меня есть androidBBQ, который основан на archlinux, установленный с помощью vmware. Но я думаю мои инструкции должны быть одинаковыми для любого дистрибутива Linux. Я использовал встроенный менеджер SDK AndroidStudio, чтобы попытаться установить NDK. Не удалось загрузить, потому что в /tmp не было места. Оказывается, большинство дистрибутивов Linux имеют ramdisk baesd tmpfs (временная файловая система в ОЗУ, которая монтируется в /tmp) и нет отдельного раздела, который можно было бы расширить. / tmp установлен обычно с помощью 50% доступной оперативной памяти.

установите NDK с помощью встроенного SDK-менеджера Android Studio ->не так удобно
a) расширить / tmp
Я отредактировал свою fstab как root, используя эту команду:

Я добавил эту строку к моей fstab

Примечание: если такой строки не существует, добавьте строку выше в конце fstab. Если такая линия существует, это означает, что вы уже расширил ваш /tmp, и он все еще был недостаточным. Таким образом, измените значение «размер», подняв его на несколько GBs.
Затем я перезагрузился. Как только я это сделал, мой /tmp был расширен до размера 8GB. Для целей развития, я думаю мы должны легко расширить наш / tmp потому что нам все равно придется сделать это через некоторое время. Размер /tmp не зависит от свободного места на нашем жестком диске (виртуальном или физическом).

b) запустите NDK install еще раз
Я побежал NDK снова устанавливается из AndroidStudio. Он должен был загрузить NDK zip заново. Unfrotunate, что нет функции resume/recheck для восстановления сломанных установок. Моя скорость загрузки была медленной, поэтому я свернул окно виртуального linux и продолжил читать новости. Позже, я думаю, произошел обмен памятью / страницей. Ошибка загрузки. Я перезапустил Linux и перезапустил NDK install таким же образом. На этот раз я позволил виртуальной машине Linux остаться на переднем плане. NDK установлен нормально с этим журналом :

ручная установка NDK в Linux (предпочтительно) Я поражен, что официальный раздел Android dev не потрудился указать точное местоположение установки Android NDK. Android Studio ищет NDK по адресу:

Источник

How to install android ndk in linux?

I have downloaded android NDK from here: http://developer.android.com/tools/sdk/ndk/index.html
for Linux 64-bit (x86) android-ndk-r10c-linux-x86_64.bin. How I do install it? The instructions don’t work. My OS is

8 Answers 8

The Standard Way

Android’s NDK now ships as an self extracting executable. You likely need to set the executable bit:

The above will cause the NDK to extract into the current working directory.

Manual Extraction

7-Zip is available in Ubuntu for example via apt-get:

Update
As of at least r14b on the NDK download page, we’re back to standard ZIP archives.

If you already have AndroidStudio installed:

You can install NDK using the SDK Manager from within Android Studio

From an open project, select Tools > Android > SDK Manager from the menu bar. Click the SDK Tools tab. Check the boxes next to LLDB, CMake, and NDK. Apply

как установить android ndk на linux. Смотреть фото как установить android ndk на linux. Смотреть картинку как установить android ndk на linux. Картинка про как установить android ndk на linux. Фото как установить android ndk на linux

Another way to download and install (unpack) it (size of zip is

820MB, unzipped is

как установить android ndk на linux. Смотреть фото как установить android ndk на linux. Смотреть картинку как установить android ndk на linux. Картинка про как установить android ndk на linux. Фото как установить android ndk на linux

Go to the directory where you downloaded it. Then execute:

It should unpack right there. The toolchain will be in android-ndk-r10c-linux-x86_64/toolchains. The root folder might have a slightly different name.

I have done like below

Install 7-Zip via apt-get like this

go to folder where your ndk bin is and then execute the command

как установить android ndk на linux. Смотреть фото как установить android ndk на linux. Смотреть картинку как установить android ndk на linux. Картинка про как установить android ndk на linux. Фото как установить android ndk на linux

I have androidBBQ which is archlinux based, installed using vmware. But I guess my instructions should be the same for any linux distribution. I used AndroidStudio’s built-in SDK manager, to try installing NDK. Download failed because there was no space in /tmp. Turns out that most Linux distros have ramdisk baesd tmpfs (temporary file system in RAM which is mounted at /tmp) and there is no separate partition which could be extended. /tmp is mounted usually by using 50% of available RAM.

Install NDK using Android Studio’s built-in SDK manager ->not so convenient
a) Extend /tmp
I edited my fstab as root, using this command :

I appended this line to my fstab

Note: If no such line exists, add above line at end of fstab. If any such line exists, it means you had already extended your /tmp and it was still insufficient. So, only change the «size» value, by raising it by a few GBs.
Then I rebooted. Once I did, my /tmp was extended to 8GB size. For development purposes, I guess we should readily extend our /tmp because we will have to do it anyway some time later. Size of /tmp is not dependent on free space in our hard disk (whether virtual or physical).

b) run NDK install again
I ran the NDK install from within AndroidStudio again. It had to download the NDK zip afresh. Unfrotunate that there is no resume/recheck function to resurrect broken installs. My download speed was slow, so I minimized the virtual linux’s window and continued to read news. Later, I guess memory/page swapping occurred. The download failed. I restarted Linux and restarted NDK install the same way. This time, I let the virtual Linux machine stay on foreground. NDK installed fine with this log :

Manual NDK install in Linux (preferable) I am amazed that official Android dev section did not bother indicating exact install location of Android NDK. Android Studio looks for NDK at:

Источник

Как установить android ndk в linux?

для Linux 64-разрядного (x86) android-ndk-r10c-linux-x86_64.bin. Как я его устанавливаю? Инструкции не работают.
Моя ОС

Стандартный способ

Android NDK теперь поставляется как самораспаковывающийся исполняемый файл. Вероятно, вам нужно установить исполняемый бит:

Вышеупомянутое приведет к тому, что NDK извлечет в текущий рабочий каталог.

Ручная экстракция

7-Zip доступен в Ubuntu, например, с помощью apt-get:

Обновление

По крайней мере r14b на странице NDK, мы вернемся к стандартным ZIP-архивам.

Если у вас уже установлена AndroidStudio:

Вы можете установить NDK с помощью SDK Manager из Android Studio

В открытом проекте выберите «Сервис»> «Android»> «SDK Manager» в строке меню. Нажмите вкладку Инструменты SDK. Установите флажки рядом с LLDB, CMake и NDK. Применять

Перейдите в каталог, в который вы его загрузили. Затем выполните:

Он должен распаковываться прямо там. Инструментальная цепочка будет в android-ndk-r10c-linux-x86_64/toolchains. Корневая папка может иметь несколько другое имя.

Я сделал, как показано ниже

Установите 7-Zip через apt-get следующим образом

перейдите в папку, где находится ваш ndk bin, а затем выполните команду

У меня есть androidBBQ, основанный на archlinux, установленный с помощью vmware. Но я полагаю, что мои инструкции должны быть одинаковыми для любого дистрибутива Linux. Я использовал AndroidStudio встроенный менеджер SDK, чтобы попытаться установить NDK. Ошибка загрузки, поскольку в /tmp не было места. Оказывается, что большинство дистрибутивов Linux имеют ramdisk baesd tmpfs (временная файловая система в ОЗУ, которая монтируется в /tmp ), и нет отдельного раздела, который можно было бы расширить. /tmp устанавливается обычно с использованием 50% доступной ОЗУ.

Установить NDK с помощью встроенного менеджера SDK для Android Studio → не очень удобно
a) Расширить /tmp

Я отредактировал fstab как root, используя эту команду:

Я добавил эту строку в свой fstab

Примечание: Если такой строки нет, добавьте выше строку в конце fstab. Если какая-либо такая линия существует, это означает, что вы уже расширили ваш /tmp, и этого было недостаточно. Итак, измените значение «размер», подняв его на несколько ГБ.

b) снова запустите NDK

Я снова запускал NDK-установку из AndroidStudio. Он должен был загрузить ZIP-код NDK. Непроизошло, что нет функции возобновления/перепроверки, чтобы воскресить сломанные установки. Моя скорость загрузки была медленной, поэтому я минимизировал виртуальное окно Linux и продолжал читать новости. Позже я предполагаю, что происходит обмен памяти/страницы. Сбой загрузки. Я перезапустил Linux и перезапустил NDK так же. На этот раз я разрешил виртуальной машине Linux оставаться на переднем плане. NDK установил штраф с этим журналом:

Ручная установка NDK в Linux (предпочтительнее)
Я поражен тем, что официальная секция Android dev не беспокоила указание точного места установки Android NDK. Android Studio ищет NDK по адресу:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *