возникает вследствие неправильной конфигурации пути к файлам JDK. Для исправления этой ошибки следует, используя меню “ File ”-“ Project Structure ”, в разделе SDK Location изменить путь JDK location, выбрав каталог, в котором размещен JDK 1.8. (Рис.3)
Рис.3 Настройка используемых проектом SDK.
Android Studio в своей работе активно использует Интернет-ресурсы. Например, файлы помощи и все примеры размещены на Web-сайтах. Поэтому для нормальной работы среды необходим доступ в Интернет. В учебном классе для доступа в Интернет необходимо указать настройки для доступа к Proxy-серверу. Для этого в стартовом окне откройте выпадающий список "Configure", выберите "Settings" и в открывшемся окне для "HTTP Proxy" установите опцию "Auto-detect proxy settings". Эта настройка обеспечить обращение к Proxy-серверу учебного класса и запрос логина и пароля для доступа в Интернет.
Там же следует отключить контроль версий компонентов и библиотек Gradle
Это ускорит работу среды.
Файл манифеста AndroidManifest.xml
Файл манифеста AndroidManifest.xml предоставляет основную информацию о программе системе. Каждое приложение должно иметь свой файл AndroidManifest.xml. Редактировать файл манифеста можно вручную, изменяя XML-код или через визуальный редактор Manifest Editor (Редактор файла манифеста), который позволяет осуществлять визуальное и текстовое редактирование файла манифеста приложения.
Назначение файла
· объявляет имя Java-пакета приложения, который служит уникальным идентификатором;
· описывает компоненты приложения — деятельности, службы, приемники широковещательных намерений и контент-провайдеры, что позволяет вызывать классы, которые реализуют каждый из компонентов, и объявляет их намерения;
· содержит список необходимых разрешений для обращения к защищенным частям API и взаимодействия с другими приложениями;
· объявляет разрешения, которые сторонние приложения обязаны иметь для взаимодействия с компонентами данного приложения;
· объявляет минимальный уровень API Android, необходимый для работы приложения;
· перечисляет связанные библиотеки;
Сборщик Gradle
Gradle — система автоматической сборки приложений. Система Gradle является важной частью Android Studio (в ранних версиях Android Studio использовались сборщики Ant и Maven), так как сопровождает работу над приложением на каждом этапе разработки.
Система сборки - это программа, которая собирает другие программы. На вход система сборки получает файлы проекта с исходными кодами и требуемыми ресурсами (библиотеками, конфигурационными файлами, файлами изображений, текстовыми ресурсами и др.), а на выходе - выдаёт программу, которую уже можно запустить на исполнение. В процессе сборки система сборки вызывает компилятор кода программы и решает целый спектр задач по созданию готового приложения.
Для сборки программ, написанных на языке java, обычно используется один из трех сбрщиков - Ant, Maven или Gradle. Сборщик Ant считается устаревшим, maven — долгое время являлся стандартом для java- программ, Gradle – это современная система сборки.
В Android Studio выполнена настройка автоматической сборки проекта по-умолчанию, однако часто требуется изменение этих настроек либо дополнительные параметры конфигурации сборщика.
Для знакомства с Gradle в Android Studio cоздайте новый проект или откройте любой существующий проект и изучите структуру файлов проекта.
Файлы конфигурации Gradle выделены в отдельную папку проекта Gradle Script. Раскройте её. Папка содержит несколько текстовых файлов, доступных для редактирования.
Файл build.gradle (Project:<Имя проекта>) относится к проекту в целои. В нем находятся настройки для репозиториев приложения и самого Gradle. Но с ним работают редко.
Файлы gradle.properties, settings.gradle, settings.gradle и другие не следует изменять без глубокого изучения системы сборки.
Файл settings.gradle обычно состоит из одной строчки.
include ':app'
Это означает, что используется один проект для работы. Если подключаются другие проекты, то здесь появятся дополнительные строки.
Основной интерес представляет файл build.gradle (Module: app). Двойным щелчком откройте этот файл в окне редактирования.
Файл дублирует настройки манифеста приложения - номер версии приложения и SDK и др. Однако этот файл определяет и другие настройки, например, дополнительный параметр может обеспечить скачивание из Интернета требуемой библиотеки и включение ее в состав проекта и приложения.
Язык конфигурационных файлов использует синтаксис объектно-ориентированного языка Groove и подобен нотации формата JSON для данных:
<Параметр> <Значение> - определяет значение конкретного параметра.
{} – сложный объект с набором пар Праметр-Значение;
[] – массив значений;
Например, альтернативные папки с ресурсами можно подключить к проекту с помощью строк:
android {
compileSdkVersion 20
buildToolsVersion "20.0.0"
defaultConfig {
applicationId "com.example.firstapp"
minSdkVersion 16
targetSdkVersion 20
versionCode 1
versionName "1.0"
}
sourceSets {
main {
res {
srcDirs = [
'src/main/res',
'src/main/presentations/animations',
'src/main/presentations/layouts']
}
}
}
}
В этом примере указано, что существуют папка /src/main/ presentations, в двух папках которой layout и animations содержатся файлы ресурсов.
Объект sourceSets указывает Gradle, какие папки следует использовать. Этим приёмом пользуются продвинутые программисты.
Другая полезная возможность - создавать разные версии приложений, например, демо-версию и платную версию.
Номер версии приложения и требования к версии Android прописаны в секции defaultConfig. Значения этих параметров из gradle.build имеют больший приоритет и перепишут значения в манифесте при не совпадении.
defaultConfig {
minSdkVersion 8
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
Подключение библиотеки к проекту выполняется одной строчкой. Например, следующая строка добавляет к приложению библиотеку Picasso:
dependencies {
compile 'com.squareup.picasso:picasso:2.3.2'
}
Другая команда подключает библиотеку только на время отладки приложения:
debugCompile 'com.amitshekhar.android:debug-db:0.3.0'
Синхронизацию проекта обеспечит скачивание библиотеки и подготовку ее к использованию в проекте. Сама библиотека скачивается с специального хранилища-репозитория JCenter, определенного по умолчанию в файле buil.gradle проекта (build.gradle (Project:<Имя проекта>)).
repositories {
jcenter()
}
Для вступления изменений конфигурации в силу необходимо сохранить отредактированный файл конфигурации и произвести синхронизацию. Наверху обычно появляется жёлтая полоска с ссылкой Sync Now.
Система сборки Gradle очень мощная и сложная, полный список команд и параметров Gradle изложен в отдельных книгах. Отдельные примеры возможностей конфигурации Gradle приведены в Приложении 1.