Структура Android-проекта студии (В. С. Структура Проекта Eclipse)

Я'м пытаясь узнать Android развития, и я сначала смутило различных структур проекта между Eclipse и Android студия. Это делает его трудно следовать учебники, предназначенные для Eclipse. Мог ли кто-нибудь, дайте мне знать, почему эти различия существуют? Должны ли они существовать?

Например, если я найдите файл R.java в двух разных IDE, путь будет выглядеть так:

Затмение: app\gen\com.example.app\R.java

Android-студия: app\build\source\r\debug\com.example.app\R.java

Почему эти пути разные? Почему мой R.java находящийся в папке debug в Андроид студии? Это приводило к некоторым ошибкам на ранней стадии, и если кто имеет какие-либо представление об этих различиях, я был бы признателен им.

Комментарии к вопросу (6)
Решение

Загадка: Android-студия'проекта структуры и построения системы#

Я не'т знаю, если это из-за системы сборки Gradle в (Я'd на пари), но я'расскажу вам, что я'вэ до сих пор понимал. Обновление 4: 2014/09/11 добавил шпаргалки для BuildTypes, вкусы и вариантов(я, наконец, чувствовать себя уверенно, чтобы написать это :д) 3 обновления: 2014/09/11 обновлены сравнение рабочих областей и проектов, чтобы быть точным Обновление 2: 2014/04/17 добавлено больше деталей в структуре проекта Обновление 1: 2013/07/29 Добавлено IntelliJ Структура Проекта В IntelliJ'структура проекта (см. В конце) для IntelliJ плагин для Андроид. В Android Studio, однако, имеет структуру проекта разделена следующим образом:

Структура: проекты и модули

модуль в Студия Android Как проекта в затмение проекта в Студия Android как рабочая область в затмение (если быть точным, рабочего пространства с взаимозависимыми проектов) Из [документации][1] (для Android Studio основана на Intellij идея) :

все, что вы делаете в IntelliJ идея, вы сделаете это в контексте проект. Проект-это организационная единица, которая представляет собой полное программное решение.

В вашем готового продукта может быть разложена на ряд дискретных, изолированные модули, но это'ы определение проекта, которое приносит им вместе и связывает их в целое. Для Android, это означает один проект в приложение, и один модуль для каждой библиотеки, а в тестовое приложение. Есть несколько вопросов, если вы пытаетесь построить несколько приложений в рамках одного проекта. Это's возможные, но если постараться (как я сделал), вы увидите, что почти все предназначены для работы с одним приложением в проекту. Например, есть вариант, чтобы "восстановить рамках проекта", который не имеет смысла с несколькими приложениями, и многие другие параметры проекта будут бесполезны, а встроенный ВКС системы это'т хорошо, когда есть несколько репозиториев.

Структура: Структура Папок

Папки Верхнего Уровня###

1. Основной Проект###

Это было бы полным содержание проекта (Земля затмение: как ваше рабочее место, но ограничился тем, что'ы, подходящих к вашему проекту). Экс: HelloWorldProject если имя приложения, которое вы дали введен

2. .идея###

Это где конкретный проект метаданные хранятся на Android Studio (как). (Затмение Земли: проект.свойства файла)

3. Модуль Проекта###

Это реальный проект. экс: это если имя приложения вы дали был введен

4. Gradle в###

Это где Gradle в построить системе'фляги, обертки, т. е. с этой баночке, как общается с Gradle установленных в Windows (ОС в моем случае).

5. Внешние Библиотеки###

На самом деле это не папка но место, где ссылки на библиотеки (затмение Земли: библиотеках) показаны. Здесь's, в которой целевой платформы отображается и т. д. [Примечание: Этот, где многие из нас в землю затмение используется для удаления библиотеках и исправить свойства проекта, чтобы исправить ошибки ссылок, помнишь?] Папка проекта ##деталях## Это номер № 3 в приведенном выше списке. Имеет следующие вложенные папки

1. сборка###

Это все полный вывод команды make процесс, т. е. классы.Декс, скомпилированных классов и ресурсов и т. д. В студии графического интерфейса Андроида, отображаются всего несколько папок. Самая важная часть заключается в том, что ваш R.java находится здесь под строить/источник/<вкус>/Р/<тип сборки(опционально)>/<пакет&GT;/R.java

2. библиотеки###

Это стандартная папка libs, которые вы видите в Земля затмение тоже

3. КГД###

Здесь вы видите только Ява и папку РЭС, которые соответствуют папка источник и папку РЭС в Земля затмение. Это значительно приветствовал упрощение ИМХО.

Обратите внимание на модули:##

Модули как Земля затмение проектов. Здесь идея состоит в том, что у вас есть один проект приложения (Модуль № 3 в списке выше) и несколько библиотечных проектов(как отдельных модулей в рамках глобальной папке проекта (№1 в списке выше)), что проект приложения зависит от. Как эти библиотеки проекты могут быть повторно использованы в других приложениях, я до сих пор'т узнал. [Примечание: вся реорганизации имеет некоторые преимущества, как упрощение в папку src, но так много осложнений. Осложнения, в основном, из-за очень очень тонкий документации на новый план проекта.]

Новая Система Сборки

Руководство пользователя для новая система построения

Объяснение вкусов и buildTypes, и т. д. - Что такое тарарам о?##

Шпаргалка для ароматизаторов и buildTypes

Типпостроения: отладка и освобождение являются buildTypes доступна по умолчанию на всех проектах. Они для создания/компиляции один код для создания различных Апкс. Например, на "выброс" Апкс вы хотели бы работать должны(для запутывания), подписать его с вашим ключом (по сравнению с отладочной ключ), выполнение оптимизации (возможно через программы ProGuard или других инструментов), использовать несколько различных имена-пакетов (мы используем ком.компании.продукт за освобождение и COM.компании.продукта.отладки на "отладка") и т. д. Мы также используем флаг отладки (BuildConfig.Отладка), чтобы отключить ведение журнала в logcat (так как это делает приложение медленно) на "выброс" строит. Это делает для быстрой "отладки" построить в ходе развития, но и оптимизированногорелизсборки поставить на плей-магазине. **Вкус продукта:** нет ароматизаторов по умолчанию (или если быть точным, то вкус по умолчанию-пусто/безымянный).Вкусыможет быть **бесплатная версия** или **платная версия**, где они **различных код**. Они разделяют тот же "основной" код, но разные версии(или версий) из нескольких файлов с исходным кодом и ресурсами. **BuildVariant:** вbuildVariantявляется то, что сгенерированный АПК на самом деле соответствует. Они называются так (по порядку) **продукт вкус+создать тип=построить вариант**. **Пример 1:** Если у вас есть "свободные" и "оплачено" в двух вариантах. Варианты сборки вы получите: Бесплатно - отладка Бесплатно - релизе Платная - отладка Платная - релиз Так что есть 4 возможных конфигураций АПК. Несколько конфигураций может не имеет смысла в конкретном проекте, но они **** и доступна. **Пример 2:** (для новых проектов/ без ароматизаторов) у вас есть 2buildVariants или Апкс имеется, поскольку вкус по умолчанию безымянный/бланк: отладка релиз

Сравните это с Intellij'ы структура проекта, Если это помогает:#

На .идеи (1) папка содержит несколько вложенных папок, в основном с внутренней информацией IntelliJ идея. КГД (2) папка содержит MyActivity.java (3) файл с исходным кодом, реализующий функциональность приложения. Файл относится к COM.пример пакета. РЭС (4) папка содержит различные визуальные ресурсы. Файл layout/main.xml (5) определяет внешний вид приложения представляет ресурсов различных типов. Папка значения (6) предназначен для хранения .XML-файлы, описывающие ресурсы различных типов. В настоящее время, папка содержит файл strings.xml с строкой определений ресурсов. Как вы увидите из При добавлении цвета раздел, папка может также содержать, например, описатель цвета. Папка холст (7) содержит изображений. Генератор (8) папку содержит R.java (9) - файл, который связывает визуальные ресурсы и исходный код на Java. Как вы увидите из нижеследующих разделах, IntelliJ IDEA поддерживает тесную интеграцию между статическими ресурсами и R.java. Как только все ресурсы будут добавлены или удалены, соответствующие классы и поля классов в R.java автоматически генерируются или удалены соответственно. Файл R.java также принадлежит к COM.пример пакета.

Комментарии (3)

Android-студия: app\build\source\r\debug\com.example.app\R.java

почему эти пути разные? Почему мой R.java находящийся в папке debug в Андроид студии? Это приводило к некоторым ошибкам на ранней стадии, и если кто имеет какие-либо представление об этих различиях, я был бы признателен им.

Проще говоря, Android-студия настроен для построения отладочной строение тип в системе.

Затмение/АДТ предназначена для поддержки одного построения (насколько я могу судить). Одна из основных целей новой системы сборки (с guide пользователь):

Make it easy to create several variants of an application, 
either for multi-apk distribution or for different flavors of an application

Так где затмение/АДТ может сгенерировать R.java файл в Android Studio поддерживает несколько. Генерируется R.java находится в папке debug, потому что по умолчанию новая система сборки поддерживаетотладкаиосвобождениетипа с места в карьер. Если вы изменили ваш вариант сборки (кнопку, нижнем левом углу а), чтобы освободить как будет генерироватьR.javaв каталогrelease`.

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

Наш проект поддерживает 4 вкусы с 2 типа (Debug и release), для поддержки всего 8 различных комбинаций АПК. И каждая из этих комбинаций имеет несколько разных конфигураций, так что эта сборка действительно сработало для нас. Мой Android Studio установлена на другой машине, но если память мне правильно файла R.java существуетсборка/источник/<вкус>/Р/<тип сборки>/package/R.java. Когда наш сервер CI строит APK-файлы он использует каждый из этих файловR.java создавать отдельные пакеты.

Комментарии (0)

В гугле прекратить поддержку для Android инструменты разработчика (АДТ) в затмение заканчивается, в наши объявления. Вы должны перенести проекты разработки приложений для разработчиков как можно скорее. для получения дополнительной информации о переход для разработчиков, см. В разделе миграция В Android студия.

Так что лучший инструмент для разработки для Android Android студия только для всех будущих поддержку леденец ---

Комментарии (1)

Для Android 3.0.1 студии и некоторые особенности:

  • О'андроид последний
  • Android-Авто
  • Андроид вещи
  • Износ Android
  • Андроид ТВ
  • Поддержка C++
  • Поддержка Котлин

Структура в версии 3.0.1 не похож на все другие ответы.

Последние структуры, как показано в 2018 году, студия Android 3.0.1 01/2018.

Новичок вроде нашел что-то похожее на используемые в суб-папке функцию:

Обновить Android 3.0.1 студии 01_2018:

Подсказка:

Комментарии (0)