Меню

android ndk windows установка

Как установить Android SDK на Windows, Mac и Linux

22 октября 2008 года в Android появился магазин приложений Play Market. С тех пор прошло больше 10 лет и сегодня Google Play насчитывает почти 3 миллиона приложений в их числе Telegram с каналом AndroidInsider. Как же разработчикам со всего мира удается создавать качественные продукты? Они используют Android SDK. Чтобы получить все инструменты и средства разработки приложений, необходимо скачать среду разработки Android Studio. Но что, если вы хотите воспользоваться Android SDK с командной строкой без Android Studio и ненужных средств? В этом материале мы подскажем, как правильно установить и настроить Software Development Kit.

Ручная установка

Переходим по этой ссылке, находим раздел «Command line tools only» и скачиваем нужную версию в зависимости от вашей системы.

Создайте папку Android в корневой папке системы. В случае с Windows это локальный диск «С», а в OS X и Linux — домашняя папка пользователя. Распакуйте скачанный архив в папку Android. Для дальнейшей работы необходим установленный пакет Java на компьютере. OS X из коробки его поддерживает, чтобы проверить это, в терминале вбейте «which java», система должна выдать расположение пакета. На Windows и Linux устанавливаем JDK по этой ссылке.

Если вы используете Linux, вам понадобится установить еще несколько пакетов с помощью этой команды «sudo apt-get install lib32ncurses5 lib32stdc++6». Для других версий Linux необходимо найти подходящие пакеты ncurses5 и stdc++6.

Установка компонентов

Переходим в папку «Android/bin», находим исполняемый файл sdkmanager и запускаем, откроется следующее окно:

Выбираем «Android SDK Tools» и «Android SDK Platform-Tools», на Windows необходимо выбрать еще и «Google USB Driver». После этого подтвердите условия лицензионного соглашения, и начнется установка инструментов. В Windows они расположатся в папке «Windows\users\Имя пользователя\AppData\Local\Android», а на Linux и Mac в папке «.Android».

Ссылки

Теперь давайте создадим символическую ссылку на эти папки, чтобы можно было быстро запустить инструменты через командную строку.

В Windows переходим в «Этот компьютер → Свойства → Дополнительные параметры системы → Дополнительно → Переменные среды». В «Переменные среды для пользователя» находим строку «Path» и кликаем по ней 2 раза. Откроется окно, в нём нажимаем «Создать» и вставляем полный путь к инструментам через точку с запятой. Должно выглядеть примерно так «C:\Android\tools;C:\Android\platform-tools».

На Mac в домашней папке находим скрытый файл «.bash_profile» или просто «.profile». Открываем его командой «nano

/.profile» и добавляем путь до инструментов:

export PATH=»$HOME/Android/tools:$PATH»
export PATH=»$HOME/Android/platform-tools:$PATH»

Сохраняем файл комбинацией «CMD+X» и далее жмём «Y». На Linux процесс аналогичен, но нужно запускать файл .bashrc.

Вот и всё. Теперь команды Android SDK доступны через консоль. Вы сможете, например, устанавливать образы и вручную обновлять смартфон.

В своей работе мне часто приходится пользоваться различными планировщиками задач. Это очень удобно. Особенно, когда у тебя несколько проектов и надо не забыть, что нужно сделать именно в этот день. Иначе получится то, с чем сталкивались буквально все, но очень не хотят это повторять. Клиенты недовольны, начальник орет, пульс подскакивает, а впереди маячит бессонная ночь за компьютером. И ладно, если сорвал сроки чего-то локального, но иногда от этого страдают и другие работники. Но не только для работы полезны планировщики задач. В обычной жизни они тоже могут очень пригодиться. Поэтому сегодня расскажу, какими планировщиками пользуюсь я и какие готов порекомендовать лично. А заодно приведу еще пару примеров таких приложений.

Что может быть лучше, чем немного поиграть на досуге в хорошую игру? Для некоторых пользователей ничего не может быть лучше. Мы тоже любим поиграть во что-то интересное, вот только игры не всегда бывают интересными. Проблема выбора особо остро стоит перед теми, кто играет время от времени и не знает всех новинок и новостей индустрии. Специально для того, чтобы облегчить вам выбор, я подготовил подборку лучших игр, в которые можно играть бесплатно, но если захотите задонатить или просто продвинуться дальше остальных, можно будет и заплатить. А самым приятным в этой подборке будет то, что многие игры кроссплатформенные. То есть, некоторые из них можно установить хоть на смартфон, хоть на консоль, хоть на компьютер. Ну что, поиграем?

На прошлой неделе я подробно рассказал о том, почему принципиально не скачиваю софт из интернета. Одним из первых, кто отреагировал на тот материал, стал автор AndroidInsider.ru и Hi-News.ru Артём Сутягин, который резонно заметил, что даже Google Play может подпадать под определение «из интернета», поскольку для соединения с ним требуется доступ к Сети. Я сказал ему что-то про то, что в массовом восприятии «из интернета» — это откуда угодно, кроме Google Play. А потом подумал, что ведь, помимо официального каталога Google в мире существуют ещё и неофициальные, которыми для вашей собственной безопасности тоже лучше не пользоваться.

Читайте также:  как сбросить все настройки на meizu mx6

3 комментария Оставить свой

за день перешли от смены рингтонов до установки андроид сдк))

источник

Android Studio для NDK под Windows

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

Сразу хочу оговориться, что я не являюсь гуру Android-разработки, поэтому каких-либо откровений в тексте вы не найдете. Зато тут есть пошаговая инструкция по установке и настройке Android Studio под Windows и созданию простейшего проекта с использованием Android NDK.

Также заранее предупреждаю: статья получилась большой и очень подробной (честно, сам не ожидал), даже несмотря на то, что я почти все скриншоты и некоторые листинги кода спрятал под спойлеры.

На момент написания последней версией Android Studio была 0.8.1, для последующих версий необходимые действия могут отличаться от нижеописанных (очень надеюсь, что в лучшую сторону).

Установка и настройка Android Studio

1. Необходимо установить JDK (Java Development Kit) и JRE (Java Runtime Environment).

Раньше Android SDK поддерживал только JDK версии 6, но теперь это в прошлом. Поддерживается 7 и даже 8 (по крайней мере, именно 8-ю версию я указал в качестве JAVA_HOME и в настройках Android Studio, и никаких проблем не испытал).
JRE же нужен для запуска самой студии. У меня она использует версию 7.
Скачать JDK и JRE версий больше 6 можно с сайта Oracle.

Переменную JAVA_HOME теперь, вроде бы, можно не устанавливать, так как в Android Studio мы будем в настройках прописывать путь к JDK. Но я ее установил. Для этого нужно:

  • Зайти в Панель управления\Система и безопасность\Система, выбрать слева Дополнительные параметры системы, в открывшемся диалоге найти кнопку Переменные среды.
  • Создать системную или пользовательскую переменную JAVA_HOME и указать для нее путь к JDK. У меня указан вот такой путь: C:\Program Files\Java\jdk1.8.0_05.

2. Если у вас установлен Android SDK.

В комплекте с Android Studio идет свой Android SDK. И, если вы хотите использовать именно его, то в некоторых случаях может случиться странное. Например, у меня при обновлении SDK через SDK Manager часть файлов записывалась в старую папку, и возникли проблемы, когда я эту папку удалил. Скорее всего это произошло из-за того, что в реестре хранился ключ с путем к старой папке. Поэтому имеет смысл почистить реестр. Для этого нужно запустить regedit.exe и найти HKEY_LOCAL_MACHINE\Software\Android SDK Tools для 32-битных машин либо HKEY_LOCAL_MACHINE\Software\Wow6432Node\Android SDK Tools для 64-битных машин и удалить Android SDK Tools. Если в реестре вашей системы таких ключей нет, то все в порядке.

Если у вас установлена переменная среды ANDROID_SDK_HOME и вы хотите, чтобы она указывала на старую установку, то, по идее, это не должно стать проблемой, так как при настройке Android Studio мы укажем ей путь к SDK. Проблемы могут возникнуть, если эту переменную использует какое-либо из приложений, входящих в состав Android SDK.

3. Теперь переходим к установке Android Studio.

Нужно скачать Android Studio для вашей системы с официальной страницы и установить ее. По умолчанию, если выбрать «Установить только для меня» ставится в \Users\ \AppData\Local\Android\android-studio\, иначе ставится в \Program FIles (x86)\Android\android-studio\. Можно выбрать и другую папку.

После установки запускаем Android Studio.


Создание проекта

1. New Project

Здесь я все оставил по умолчанию: Phone and Tablet и 4.0.3 IceCreamSandwich. Если API для каких-то платформ не установлен, выдается сообщение Not Insatlled. Например, как видно на скриншоте, у меня не установлены библиотеки для Google Glass (сделать это можно через SDK Manager).

3. Add Activity

Сборка и запуск

1. Сборка проекта

Запускаем сборку через меню: Build->Make Project (для пунктов меню указаны иконки и горячие клавиши, так что с ними будет несложно разобраться).
У меня при первой сборке возникла ошибка:

Произошло это в файле MyApplication/app/build.gradle
Для того, чтобы понять в чем дело, достаточно навести курсор на подчеркнутую строку:

Все просто, здесь указана версия 19, а у нас установлена только 20, да и в настройках проекта мы указали 20 как целевую. Просто поменяем цифру:

Как видно, студия на этом не успокоилась, и предлагает установить еще более новую версию. Но нам сейчас это не нужно.

Читайте также:  настройка модема tenda 301

Снова запускаем Build->Make Project. На этот раз у меня все собралось. Надеюсь, у вас тоже.

2. Настройка виртуального устройства

Закрываем AVD Manager и возвращаемся в главное окно Android Studio.

3. Запуск на эмуляторе

Здесь единственный доступный вариант для выбора — это наше виртуальное устройство. Он нам сразу предложен, так что просто жмем OK.

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

После этого дело пошло, и приложение довольно быстро установилось и запустилось.

4. Запуск в Debug-режиме

Ждем, пока запустится приложение и приконнектится дебаггер. Я поставил точку останова при нажатии на кнопку Dummy Button.

5. Запуск на 4.0.3

5. Запуск на устройстве

Первое, что нужно сделать, это установить adb-драйвер. У меня с этим все довольно просто, драйвер находится прямо на телефоне, единственное, что нужно сделать, это воткнуть шнур в компьютер, зайти в примонтировавшийся диск и запустить исполняемый файл, который и установит adb-драйвер. Для других устройств все может быть сложнее. Например, для планшета Prestigio мне в свое время пришлось прописывать Vendor ID в специальный файл (чтобы использовался стандартный драйвер от Google), для Samsung нужен их собственный Kies, был отдельный драйвер для HTC и так далее. В общем, вам придется самостоятельно разобраться, как установить драйвер для вашего устройства.

После того как драйвер был установлен, нужно на устройстве разрешить отладку по USB. У меня на телефоне для этого нужно зайти в Настройки->Для разработчиков->Отладка по USB. Но для разных устройств, а также сборок и версий Android, расположение этого пункта меню может отличаться.

Теперь телефон будет находиться Android SDK, а разрабатываемые приложения будут устанавливаться. Однако, для Huawei это еще не все: с телефона не идут логи, нужно их включить.

Установка и настройка Android NDK

1. Установка NDK

Android SDK, как мы уже выяснили, входит в комплект Android Studio, а вот NDK — нет. Скачиваем NDK, подходящий для вашей системы, отсюда. Распаковываем архив и кладем в какую-нибудь папку, например, в D:\ndk, так, чтобы файл ndk-build.cmd лежал прямо в ней. Важно: необходимо, чтобы в пути к NDK не было пробелов.

2. Добавим переменную ANDROID_NDK_HOME

Заходим в Панель управления\Система и безопасность\Система, выбираем слева Дополнительные параметры системы, в открывшемся диалоге нажимаем кнопку Переменные среды. Создаем переменную с именем ANDROID_NDK_HOME и значением D:\ndk (путь к вашей NDK).

Альтернативно, вместо указания глобальной переменной можно прописать путь к ndk в файле local.properties вашего проекта (прямо в корневой папке: MyApplication\local.properties). Содержимое файла будет выглядеть примерно так (обратите внимание на двойные бэкслеши, так как для Windows это критично):

Не верьте дисклеймеру про «ваши изменения будут выкинуты», в данном случае это не так. Обратите внимание, что этот файл рекомендуется исключать из-под контроля версий, так как он содержит только локальную для пользователя информацию. Для разнообразия в этом нам не соврали. Ну и, само собой, это изменение никак не повлияет на другие Ваши проекты. При установленной ANDROID_NDK_HOME прописывать путь в local.properties необязательно.

3. Установим необходимую версию Android API

4. Настроим gradle для работы с NDK

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

После того, как сэмплы скачаны, их нужно распаковать. Затем нужно открыть проект ndkSanAngeles. Для Android Studio проектом является папка, так что открывать надо именно ее. Для того этого выполняем File->Open, либо, если вы в Welcome диалоге, Open Project. Ищем папку ndkSanAngeles через диалог открытия файла.

После открытия проекта стоит обратить взор на файл build.gradle. Вот его оригинал:

А вот измененная версия, чтобы проект собирался у меня:

Изменения следующие:

  • О несовпадении версии плагина gradle (classpath ‘com.android.tools.build:gradle:0.11.0’) будет сказано при попытке сборки и предложен правильный номер версии. У меня это 0.12.+.
  • compileSdkVersion 19 остается, так как это максимальная версия для текущего NDK.
  • buildToolsVersion изменился на 20. Установленные версии можно посмотреть в SDK Manager, там же можно установить другие.

После этого ndkSanAngeles должен собраться. Будьте внимательны, проверяйте версии, установленные у вас.

Настроим его для работы с NDK, используя в качестве «донора» build.gradle из ndkSanAngeles.

Для начала, заменим
compileSdkVersion 20
на
compileSdkVersion 19
так как NDK ограничен версией 19.

В defaultConfig мы добавим настройки ndk, а также заменим targetSdkVersion на 19:
Настройки NDK включают в себя

  • moduleName — имя модуля, будет использовано для именования *.so файла
  • cFlags — флаги C
  • ldLibs — библиотеки, которые вы хотите подключить к нативному коду
  • stl — версия библиотеки STL
Читайте также:  как сбросить гелакси до заводских настроек

В buildTypes включим для debug дебажную сборку JNI:

Теперь добавим productFlavors. Здесь мы указываем, какие собранные *.so библиотеки включать в сборку под конкретную архитектуру. Таким образом, *.apk собранный для arm будет содержать версию библиотеки только для arm, под x86 — для x86 и так далее. Этот кусок полностью скопирован с ndkSanAngeles. Объяснение значений versionCode из комментариев: для x86 ставим максимальное значение versionCode, так как если устройство поддерживает и x86 и arm, то сборка x86 предпочтительнее (видимо, так как у нее большая версия, то установлена будет именно она), а минимальный versionCode прописывается для fat (по идее это должен быть «толстый» *.apk, содержащий сразу все возможные версии библиотек).

«Собираем» значение versionCode для каждого из вариантов сборки:

Наконец, последняя секция, dependencies. Если помните, здесь мы меняли compile ‘com.android.support:support-v4:19.+’ на compile ‘com.android.support:support-v4:20.+’, чтобы собирать с единственной установленной у нас версией библиотеки. Теперь придется поменять обратно на 19.

5. Создаем папку jni

6. Добавим C++ файлы

  • #pragma once — вместо стандартной (#ifndef/#define/#endif) защиты от повторного включения. Сейчас #pragma once понимается большинством C++ компиляторов.
  • #include — включаем заголовок JNI, чтобы можно было использовать типы, объявленные там.
  • #ifdef __cplusplus . #endif — код внутри будет скомпилирован только в C++ (но не в C).
  • extern «C» < . >— избавляемся от name mangling (что это и почему, хорошо описано тут).
  • JNIEXPORT jstring JNICALL Java_com_example_markedone_myapp_FullscreenActivity_stringFromJNI(JNIEnv* env, jclass clazz); — объявление функции, которую будем реализовывать.
    Разберем это объявление подробнее.
    • JNIEXPORT необходимо для грамотной линковки.
    • JNICALL для правильного соглашения о вызове.
    • jstring — тип возвращаемого значения функции, в данном случае это строка, совместимая со строкой Java.
    • Java_com_example_markedone_myapp_FullscreenActivity_stringFromJNI — имя функции, состоит из:
      Java — язык, который вызывает.
      com_example_markedone_myapp — это id приложения (com.example.markedone.myapp).
      FullscreenActivity — имя класса Java, который содержит объявление метода, представляющего нативную функцию.
      stringFromJNI — собственно, имя функции (таким оно будет в Java).
    • JNIEnv* env, jclass clazz — обязательные параметры, передающиеся из Java.
      JNIEnv* env — указатель на объект, представляющий из себя JNI-окружение.
      jclass clazz — класс, которому принадлежит объявление нативного метода в Java. Здесь нужно оговориться, что jclass clazz — это для статического нативного (static native) метода. Для нестатического метода будет нужно писать jobject obj .
7. Добавим вызов нативной функции из Java

Добавим следующий код в класс FullscreenActivity:
Здесь сначала идет загрузка библиотеки, а затем объявление метода stringFromJNI, который соответствует нашей функции в C++. Обратите внимание, что он объявлен как static (это влияет на то, что (jclass или jobject) будет в качестве второго параметра C++-функции) и native. Реализовывать native-метод не нужно, мы это уже сделали в C++, а остальное за нас сделает JNI.

Теперь мы, в общем-то, уже можем вызвать нашу функцию. Если вы, как и я, выбрали FullscreenActivity, то у нас есть Dummy Button, который, по сути, ничего не делает. И даже уже есть touch listener, пусть и не самый лучший (он будет вызываться много раз, пока палец на экране), но, чтобы не плодить лишний код, используем его.

Для начала добавим в список импорта:
import android.widget.Button;
чтобы можно было нормально работать с кнопкой.

и добавим несколько строк перед return false .

  • final String message = stringFromJNI(); — получаем строку из C++. Вызов нативного метода — то, ради чего все и затевалось.
  • final Button button = (Button)findViewById(R.id.dummy_button); — находим объект кнопки.
  • final String actualText = button.getText().toString(); — вытаскиваем текущий текст кнопки.
  • if(message.equals(actualText)) — сравниваем строку, полученную из C++, с текстом кнопки.
    • button.setText(«Dummy Button»); — если одинаковы, меняем текст кнопки на Dummy Button.
    • button.setText(message); — если различаются, то меняем на текст, полученный из C++.

17. Собираем и запускаем проект

Заключение

В целом, мне Android Studio понравилась. Интеграция Android SDK выполнена довольно плотно, иногда даже забываешь, что это запускаются отдельные программы. Есть всякие интересные плюшки, такие, как Help me choose. Понравилась новая система сборки — Gradle, — но тут же и недостаток: по ней очень мало информации.

Также, видно, что поддержка NDK еще сыровата, но прослеживается движение в этом направлении. Очень надеюсь, что они все-таки сделают полноценную поддержку C++-разработки.

источник

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

Adblock
detector