- Android Studio для NDK под Windows
- Установка и настройка Android Studio
- Install Android Development Tools
- Before You Begin
- Background
- What Do You Need?
- Install and Set Up Android Studio
- Install an Android SDK Platform Package
- Create and Start an Android Virtual Device
- Install the Java SE Development Kit 8
- Create Environment Variables
- Android Studio использует это расположение JDK… которое отличается от того, что Gradle использует по умолчанию.
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.
Источник
Install Android Development Tools
Before You Begin
This 15-minute tutorial shows you how to install Android Studio, which includes the Android SDK, and create an Android Virtual Device (AVD) on which you install an Oracle JavaScript Extension Toolkit (Oracle JET) hybrid mobile application during a later tutorial. The time to complete doesn’t include processing time as a result of your activities.
Background
The Oracle JET command-line interface invokes the Android SDK that you install with Android Studio to build an Android application package (APK) file from the source files of your hybrid mobile application. This APK file is installed on an AVD to enable you to test the hybrid mobile application.
What Do You Need?
- A computer that meets the system requirements to install Android Studio. See System requirements at https://developer.android.com/studio/
Install and Set Up Android Studio
Depending on the operating system of your computer, the Android Studio installation wizard prompts you with dialogs where you choose between standard or custom install types. Choose the options recommended by the Android Studio installation wizard as these options include the components that you require to create and install a hybrid mobile application on an AVD. They also include an Android emulator and an emulator accelerator appropriate for your computer, be that Windows, Mac, or Linux.
- Go to the Download page for Android Studio on the Android Developer’s website at https://developer.android.com/studio/ and click DOWNLOAD ANDROID STUDIO.
- Review and accept the terms and conditions in the Download Android Studio dialog that appears and click DOWNLOAD ANDROID STUDIO FOR PLATFORM where PLATFORM refers to the operating system of your machine, such as Windows, Mac, or Linux.
- Go to the Install Android Studio guide at https://developer.android.com/studio/install and follow the instructions for your operating system to install and start Android Studio.
- If you run Android Studio behind a firewall or secure network, an Android Studio First Run dialog appears which displays a button (Setup Proxy) that you click to enter the proxy server settings for your environment. This allows Android Studio to complete the download of the components for a standard install.
- In the Welcome to Android Studio dialog, select Start a new Android Studio project, and then, in the Create New Project wizard, accept the default options to progress to the final screen in the wizard and click Finish.
This enables the Android Studio toolbar with the options that you need to create an AVD. It also downloads and configures the Gradle build tool that the Android SDK invokes to build the APK file when you complete the creation of your Oracle JET hybrid mobile application.
If you run Android Studio behind a firewall or secure network, a Proxy Settings dialog appears that enables you to configure proxy settings for the Gradle build tool that Android Studio downloads and configures. Provide the proxy settings for your environment to ensure that the Gradle build tool functions correctly.
Install an Android SDK Platform Package
- In the Android Studio toolbar, click the SDK Manager icon (
) to open the Android SDK page in the Default Settings dialog.
- In the SDK Platforms tab, select Android 8.0 (Oreo) with an API Level value of 26, and click Apply.
Description of the illustration sdkmgrdialog.png
- Click OK in the confirmation dialog that appears and accept the license agreement to proceed with the installation.
- Once the installation completes, click Finish and then click OK to close the Default Settings dialog.
Create and Start an Android Virtual Device
- In the Android Studio toolbar, click the AVD Manager icon ( ) and click Create Virtual Device in the Android Virtual Device Manager dialog that opens.
- In the Phone category of the Choose a device definition page of the Virtual Device Configuration dialog, select Nexus 5X and click Next.
- In the Recommended tab of the Select a system image page, click Download for the Oreo entry with an API Level of 26.
Description of the illustration downloadoreo.png The SDK Quickfix Installation wizard opens.
- Accept the license agreement to proceed with the download of the system image for Android 8.0 with API Level 26. Once the installation completes, click Finish and then click Next in the Select a system page.
- In the Verify Configuration page, review and accept the default settings such as the AVD Name value of Nexus 5X API 26, then click Finish.
- In the Android Virtual Device Manager dialog, click the Launch this AVD in the emulator icon (
) under the Actions column for the newly-created Nexus 5X API 26 AVD.
The Android emulator starts and loads the Nexus 5X API 26 AVD. A toolbar appears to the right of the AVD that provides UI controls to interact with the AVD.
Description of the illustration sdkmgrdialog.png
Install the Java SE Development Kit 8
- Go to the Java SE Development Kit 8 Downloads page at http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html, accept the license agreement, and download the Java SE Development Kit installation file for your platform.
- Follow the JDK installation instructions for your platform at https://docs.oracle.com/javase/8/docs/technotes/guides/install/toc.html.
Create Environment Variables
To function correctly, the Apache Cordova command-line interface that the Oracle JET command-line interface communicates with requires that you configure environment variables. These environment variables reference the installation location of the Android SDK that is installed by Android Studio and the Java SE Development Kit 8.
- For Windows.
- Open the Environment Variables dialog from the System Properties dialog by navigating Control Panel >System and Security >System >Advanced System Settings >Environment Variables.
- Click New in the Environment Variables dialog and set the values of the variables to the location of the JDK and Android SDK locations, as shown in the following image. You can obtain the Android SDK location from the Android SDK page of the Default Settings dialog that you access in Android Studio by clicking Tools >SDK Manager.
Description of the illustration envvar.png
- For Mac and Linux-type systems, the settings depend upon your default shell. For example, on a Mac system using the Bash shell, add the following lines in
Источник
Android Studio использует это расположение JDK… которое отличается от того, что Gradle использует по умолчанию.
# 4 Как сделать приложение для клавиатуры | Android Studio | Сингальский
После того, как Android Studio синхронизирует мой проект gradle, я вижу следующее сообщение в журнале событий:
Android Studio использует это расположение JDK: /path/to/my/project/specific/jdk что отличается от того, что Gradle использует по умолчанию: /path/to/android/studio/embedded/jdk Использование разных мест может вызвать несколько демонов Gradle, если задачи Gradle запускаются из командной строки при использовании Android Studio. Настройте Android Studio на использование того же JDK, что и Gradle, и синхронизируйте проект.
я имею /path/to/my/project/specific/jdk установить в Project Structure -> SDK Location -> JDK Location -> Other
У меня в моем .bash_profile :
и STUDIO_JDK в документации говорится:
Устанавливает расположение JDK, с которым запускается Studio. Когда вы запускаете Android Studio, он проверяет STUDIO_JDK , JDK_HOME , и JAVA_HOME переменные среды в этом порядке.
Поэтому я ожидал, что Android Studio найдет /path/to/my/project/specific/jdk , но это не так. Есть ли специальная настройка JDK специально для gradle?
Обновить
За macOS происходит только в macOS Mojave 10.14.6 . На macOS Catalina 10.15.3 , вам нужно только установить JAVA_HOME в вашей оболочке.
Этот ответ касается macOS случаи. Это не подразумевает решений для Linux или Windows.
TL; DR
На macOS , Android Studio не получает переменные среды, определенные в вашем .bash_profile при запуске из Finder.app . Вы должны определить переменные среды в launchctl :
или, если вы хотите использовать свой системный JDK:
Но это работает только для текущего сеанса вашего компьютера. Далее вам нужно создать
или, если вы хотите использовать свой системный JDK:
Список активируется после перезагрузки системы. Вы также можете использовать launchctl load
/Library/LaunchAgents/environment.plist чтобы запустить его немедленно.
Более глубокое объяснение
Я подозревал, что Android Studio на самом деле не видит мой JAVA_HOME переменная среды, поэтому я проверил переменные среды процесса Android Studio:
это означало, что Android Studio не видит мой JAVA_HOME , как я и подозревал.
Затем я попытался запустить Android Studio с терминала:
и это дамп намного больше, включая мой JAVA_HOME . Таким образом, мне нужно было выяснить, как установить переменную среды для приложений, запускаемых из Finder.app , который я описал выше.
- Я думаю, что контекст этого ответа находится в OSX («Finder» — это собственный файловый менеджер). Это заставляет меня задуматься, такой же ли принцип и с Ubuntu?
- This only happens on macOS Mojave 10.14.6. On macOS Catalina 10.15.3 НЕПРАВИЛЬНО
- @OjonugwaJudeOchalifu что делает WRONG значить? Будьте более конкретными и конструктивными.
- @HeathBorders Lol. Я говорю, что у меня была такая же проблема, но я не на MacOS
- Благодарю. Я отредактирую ответ, чтобы упомянуть, что он находится в macOS контекст.
Я начал получать это предупреждение после обновления до Android Studio версии 3.6. Я получал предупреждение ниже:
Чтобы исправить это предупреждение, я изменил расположение JDK проекта на расположение Gradle JDK.
- Щелкните правой кнопкой мыши приложение в окне проекта
- открыть настройки модуля
- Расположение SDK
- Расположение JDK
из раскрывающегося списка выберите расположение JDK вашего Gradle. В моем случае это ниже местоположения:
Нажмите «Применить» и «ОК».
- Отлично. Это именно то, что мне нужно. Спасибо!
- На моем компьютере с Windows установлен jdk 13, я надеюсь, что это не проблема для студии Android, предупреждение исчезло, так что вроде все в порядке.
- Я использую cusom JVM (от моей компании), и он хранится в другом месте. Что я должен делать?
- Большое спасибо! У меня была такая же проблема после обновления моей студии Android до 4.0.
Я работаю над системой Windows. Я зашел в панель управления, открыл переменные среды и скопировал расположение ключа JAVA_HOME. Я поместил этот каталог в окно Project Structure / SDK Location в Android Studio. После сохранения изменений Gradle смог без проблем синхронизироваться. Местоположение окна SDK Locations обсуждается в этой публикации.
Я использую Windows, и при обновлении до AS 3.6.1 возникла такая же ошибка.
Помимо проектов Android, я также создаю проекты Java на одном компьютере, оба из которых используют разные версии Java. Поэтому указывать оболочку AS / Gradle на мой JAVA_HOME не вариант.
Чтобы решить эту проблему, мне нужна переменная среды JAVA_HOME, указывающая на мои проекты Java, и JAVA_HOME для AS / Gradle, чтобы указывать на версию JRE, поставляемую с AS.
Есть простое решение. Это немного беспорядочно, но работает. Для этого вам нужно будет видеть скрытые файлы. Затем измените пакетный файл оболочки Gradle следующим образом:
Заходим в функцию:
Это не постоянное решение, так как оно вполне может быть перезаписано новыми версиями Gradle, однако оно работает пока и, надеюсь, достаточно долго, чтобы кто-то (надеюсь, Google) указал AS и обертки Gradle в правильное место по умолчанию.
Я тоже использую систему Windows от Microsoft. Чтобы решить эту проблему, просто выполните следующие простые шаги.
Установите свой JAVA_HOME переменная окружения, указывающая на установленный вами jdk. В моем случае это было C: \ Program Files \ Java \ jdk-9.0.1
Затем в студии Android нажмите Выбрать JDK из файловой системы из вашего журнала событий или перейдите в структуру проекта, затем в папку sdk.
Установите местоположение jdk, как показано на изображении выше, и нажмите «Применить».
Источник