редактировать: (август-2016)
Этот вопрос относится к ноябрю 2013 года (пока Android Studio еще находилась в режиме предварительного просмотра),
В настоящее время (AS v2.2, август 2016 г.) во время установки AS просит выбрать папку SDK (или установить по умолчанию), и она автоматически применяется к любому проекту, который вы открываете.
Это означает, что любой возможный обходной путь или исправление не имеет значения, поскольку проблема больше не воспроизводима.
оригинальный вопрос:
у нас есть этот проект с несколькими модулями, которые уже настроены и правильно выполняются на другом компьютере разработчика с помощью оболочки. Я клонировал полные подмодули git в мою машину.
Ниже это прямая печать моей командной строки:
$ ./gradlew
FAILURE: Build failed with an exception.
* Where:
Build file '/home/budius/project_name/ActionBar-PullToRefresh/library/build.gradle' line: 1
* What went wrong:
A problem occurred evaluating project ':ActionBar-PullToRefresh:library'.
> SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 6.378 secs
$ echo $ANDROID_HOME
/home/budius/Applications/android-studio/sdk
$
Итак, как вы можете видеть, ANDROID_HOME там. Что еще они хотят? Что здесь не так.
работает на Ubuntu 13.04
редактировать:
Я уже создал файл local.properties в корневом каталоге sdk.dir=<path>
проекта, и он работает. Но это усложняет перенос кода между системами и сервером сборки, поэтому вопрос остается открытым.
Кто-нибудь знает, почему ANDROID_HOME не работает и что нужно сделать, чтобы он работал?
settings.gradle
файл в папку проекта.Ответы:
Я решил проблему. Это работает для меня:
В
Я создал файл с именем local.properties и поместил внутрь
В консоли мне нужно сделать
Надеюсь это поможет.
источник
В OSX IntelliJ не будет выбирать переменные среды, которые вы установили в своем .bash_profile или .bash_rc и т. Д.
Попробуйте это, подставив значение вашего собственного местоположения SDK:
launchctl setenv ANDROID_HOME /usr/local/opt/android-sdk
Затем перезапустите IntelliJ, и Боб станет вашим дядей.
Вот ссылка на проблему, изложенная в более общем виде: https://emmanuelbernard.com/blog/2012/05/09/setting-global-variables-intellij/
источник
launchctl setenv ANDROID_HOME ~/Library/Android/sdk
launchctl setenv ANDROID_HOME $ANDROID_HOME
иlaunchctl setenv JAVA_HOME $JAVA_HOME
В моем случае
settings.gradle
не хватало.Сохраните файл и поместите его в папку верхнего уровня в своем проекте, даже если вы можете скопировать его из другого проекта.
Снимок экрана:
Надеюсь, это сэкономит ваше время.
источник
Это работает для меня:
источник
Плагин Android Gradle все еще находится в бета-версии, и это может быть просто ошибкой. Для меня настройка ANDROID_HOME работает, но мы можем использовать разные версии (пожалуйста, попробуйте еще раз с самой последней версией и дайте мне знать, работает она или нет).
Также стоит установить переменную среды ANDROID_SDK и ANDROID_HOME.
Я видел проблемы с этим на некоторых машинах, поэтому мы создаем local.properties в этих случаях - я также заметил, что последняя версия Android Studio создаст этот файл для вас и заполнит свойство sdk.dir.
Обратите внимание, что вы не должны проверять local.properties в управлении версиями, мы добавили его в наш gitignore, чтобы он не мешал переносу кода между системами, которые вы по праву определили как потенциальную проблему.
источник
sdk.dir=/path/to/android/sdk
сработало для меня. Я использую Gradle как часть проекта, созданного с помощью IntelliJ 13.0.2По какой-либо причине скрипт gradle не получает значение ANDROID_HOME из среды. Попробуйте указать это в командной строке явно
источник
Я столкнулся с той же проблемой, хотя у меня в главном модуле был файл local.properties, а переменная среды ANDROID_HOME установлена на системном уровне.
Эта проблема была устранена, когда я скопировал файл local.properties, который находился в моём главном модуле проекта, в корень всего проекта (т. Е. Родительский каталог для вашего основного модуля).
Попробуйте скопировать файл local.properties внутри модулей и корневого каталога. Должно сработать.
источник
Я столкнулся с той же проблемой при открытии клонированного git-репозитория. Файл local.properties автоматически добавляется в файл .gitignore, поскольку он специфичен для среды сборки каждого компьютера и поэтому не является частью репо.
Решение состоит в том, чтобы импортировать проект вместо того, чтобы просто открывать его после того, как вы клонировали его из git, это заставляет андроид студию создавать файл local.properties, специфичный для вашей машины:
Файл >> Импортировать проект >>
источник
MAC OS X:
~/.bash_profile
добавить:
export ANDROID_HOME=~/Library/Android/sdk export PATH=${PATH}:${ANDROID_HOME}/tools export PATH=${PATH}:${ANDROID_HOME}/platform-tools
Бегать:
source ~/.bash_profile
Перезагрузите терминал и Android Studio
источник
Как это сделать на MAC OSX:
1) Откройте Терминал и отредактируйте:
vi ~/.bash_profile
если там нет файла, просто добавьте его.2) Добавьте (измените на ИМЯ ПОЛЬЗОВАТЕЛЯ и добавьте это):
#Java var home: JAVA_HOME="/usr/libexec/java_home" ANDROID_HOME="/Users/<YOUR USER NAME>/Library/Android/sdk"
3) Беги
source ~/.bash_profile
.4) Беги
echo $JAVA_HOME; echo $ANDROID_HOME;
5) Если ваш вывод:
/usr/libexec/java_home /Users/<YOUR USER NAME>/Library/Android/sdk
Так что ты хороший.
и RESTART андроид студия!
И, убедитесь, что у вас есть Java :)
java -version
И градл :)
gradle --version
источник
export ANDROID_HOME
ANDROID_HOME
и затем выполнилsource ~/.bash_profile
, это является проникающим (выполнитьsource
хорошо, если вы не хотите выходить из системы и входить или перезагружаться). В вашем случае,export ANDROID_HOME
после перезагрузки или входа в систему переменная окруженияANDROID_HOME
в mac исчезнет.Скопируйте local.properties в корневую папку и запустите снова.
источник
Это сработало для меня (Ubuntu):
Добавить
ANDROID_HOME=/path/to/android-sdk
в/etc/environment
.Перезагрузка.
источник
в windows я устанавливаю ANDROID_HOME = E: \ android \ adt-bundle-windows-x86_64-20131030 \ sdk, тогда все работает как положено.
В Linux вам нужно установить sdk.dir.
Скрипт использует две разные переменные.
источник
sdk.dir=C:\\Users\\username\\AppData\\Local\\Android\\Sdk
У меня та же проблема, кажется, пример кода не может найти среду Android, вместо этого, чтобы попытаться исправить это, я просто удаляю пример кода из settings.gradle, и тогда установка идет нормально.
после этого просто импортируем проект в eclipse и все :)
источник
В Linux попробуйте запустить studio.sh из терминала и установить ANDROID_HOME в этом терминале. Это сработало для меня.
источник
Если вы используете Windows Plantform, попробуйте запустить Android Studio от имени администратора.
источник
Просто удалите sdk.dir из файла local.preoperties и установите переменную среды ANDROID_HOME . Это сработало для меня.
источник
экспортировать ANDROID_HOME = / xxx / xxx / в оболочке, затем использовать его в System.env.ANDROID_HOME в файле Gradle.
PS: не забудьте ключевые слова "export", чтобы сделать ANDROID_HOME глобальным.
источник
export
этом ответе важно отметить. ЯANDROID_HOME
определил и даже добавил это кPATH
, но если вы этого не сделаетеexport ANDROID_HOME
, Gradle не сможет найти его.Ваш файл local.properties может отсутствовать. Если это так, добавьте файл с именем 'local.properties' в /local.properties и укажите расположение sdk следующим образом.
sdk.dir = C: \ Users \\ AppData \ Local \ Android \ Sdk
источник
Я установил ANDROID_HOME = [PATH_OF_MY_ANDROID_SDK] в моей переменной среды. Это решение работает для меня.
источник
Я только что решил ту же проблему, добавив ANDROID_HOME в качестве общесистемной переменной. В Ubuntu это должно быть в / etc / profile или в файле сценария оболочки в /etc/profile.d/
Затем выйдите и войдите снова, теперь Gradle должен распознать переменную ANDROID_HOME.
источник
Я столкнулся с подобной проблемой. Почему-то у меня не было папки для сборки в моем проекте. При копировании этой папки из другого проекта в мой проект, с которым у меня возникла проблема, это решило эту проблему.
источник
Установка Build-Tools 23.0.1 вместо 23.0.2 исправила эту проблему для меня.
источник
решения:
1 добавить "sdk.dir = path_of_sdk"
2 выполнить gradlew с переменной evn следующим образом:
$ ANDROID_HOME = path_of_sdk ./gradlw
источник
Вы сказали, что управление версиями local.properties создает проблемы для вас. Я взломал скрипт, который использует инструмент командной строки Android для обновления файла local.properties на компьютерах, которые участвуют в производстве. Команда проекта обновления Android , кроме local.properties, производит много нежелательного мусора (по крайней мере для меня), что является причиной всех этих команд rm в конце скрипта.
Этот скрипт - первое, что мы запускаем на любой новой машине, где мы кодируем. Он должен быть запущен в корневом каталоге проекта. Конечно, Android Studio может иметь GUI способ справиться с этим, но я бы не знал, так как я использую другой редактор. Я также не могу утверждать, что решение является общим, но оно «работает для меня» (тм).
источник
Я столкнулся с той же проблемой на Ubuntu (и так
local.properties
иANDROID_HOME
было добавлено), но сбой сборки не исчез. Таким образом, обходной путь должен добавить следующие строкиexport ANDROID_HOME=/home/<user>/Android/Sdk export PATH=$PATH:/home/<user>/Android/Sdk/tools
прямо к
studio.sh
сценарию (внутри/usr/local/android-studio/bin
)Может быть, это будет полезно.
источник
я столкнулся с той же ошибкой, но в моем случае я клонировал проект, клонированный проект был построен с Android API 22, который я не устанавливал в то время (у меня были установлены API 24 и 25) ........ так мне пришлось скачать инструменты SDK для API 22
источник
Для Windows:
источник
В моей системе (Ubuntu 20.04 после двух обновлений версии с 19.04) симптомы были такими, как если бы
gradle
(4.4.1, установленный из репозиториев APT) игнорировалANDROID_HOME
переменную среды при полученииsdk.dir
значения изlocal.properties
если я его создал.Причиной, по-видимому, была
java
упомянутая командаopenjdk version "11.0.7"
. После того, как я установилopenjdk-8-jdk
пакет и сделалupdate-alternatives --config java
по умолчаниюjava
версию 8 ("1.8.0_252"
),gradle
начал работать как положено.источник
Этот вопрос относится к ноябрю 2013 года (пока Android Studio еще находилась в режиме предварительного просмотра),
В настоящее время (AS v2.2, август 2016 г.) во время установки AS просит выбрать папку SDK (или установить по умолчанию), и она автоматически применяется к любому проекту, который вы открываете.
Это означает, что любой возможный обходной путь или исправление не имеет значения, поскольку проблема больше не воспроизводима.
источник