2016-01-19 5 views
1

Я новичок в студии android and android. Проект, над которым я сейчас работаю, имеет src/main/Java, и все материалы java находятся в этой папке. Также есть модуль в проекте с той же иерархией. Мне было интересно, могу ли я изменить эту структуру? Это структура, навязанная студией Android? по градле? Я хотел бы удалить часть «main/java» и переместить весь мой код в папку «src». (org, com и т. д. перейдут на два уровня вверх) Есть ли что-нибудь, что мешает мне это сделать?Android src/main/java folder

+0

https://docs.gradle.org/current/userguide/java_plugin.html#sec%3asource_sets – dymmeh

ответ

1

Это структура по умолчанию для проектов Gradle для Android.

Вы можете изменить его с sourceSets штуковина (я не уточненный с Groovy типологией;)):

android { 
    sourceSets { 
     main { 
      manifest.srcFile 'AndroidManifest.xml' 
      java.srcDirs = ['src'] 
     } 
    } 
} 

Тем не менее, я призываю вас, чтобы сохранить стандартную структуру, как это очень удобно, когда вы начинаете использовать более продвинутые функции, такие как variants.

Дополнительную информацию можно найти в official documentation.

+0

Это абсолютно разумно. Но моя проблема - приложение, у которого есть приложение Cordova, и для того, чтобы я мог использовать CLI для обновления кордовы или установки плагинов, мне пришлось бы перемещать папки под src и избавляться от папки main/java. – James

0

Всякий раз, когда вы начинаете новый проект в Android Studio, он автоматически создает среду для приложения, чтобы она легко запускалась на ОС. основная папка внутри src папка хранит все основные компоненты вашего приложения для Android. Он хранит все ваши java-файлы в java и файлы ресурсов в res. основной также хранит Android Manifest. Короче говоря, это правильный и предпочтительный способ для среды ОС Android.

0

Я также рекомендовал бы сохранить структуру такой, какой она есть. По мере продвижения с развитием Android вы начинаете использовать buid variants. Это означает, что у вас будет отдельный набор файлов ресурсов (например, макеты действий, графики, файлы конфигурации в xml и т. Д.) + Исходный код для разных настроек, например. когда вы отлаживаете или когда вы строите и тестируете свое приложение как часть автоматической сборки/тестирования на сервере CI или когда вы обычно создаете его для выпуска.

В этом случае, вы будете иметь debug/Java и debug/Рез + main/Java и main/Рез. main и debug - это образцы вариантов вариантов вариантов сборки, вы можете иметь столько вариантов сборки, сколько хотите (например, release, ci и т. Д.). Каталог res здесь resources. Этот каталог не компилируется и поставляется с вашим APK. Каталоги java содержат исходный код (и компилируются). Смешивание этой проблемы приводит к ошибке, и если вам удастся это сделать и скомпилировать, она просто делает вашу структуру проекта незаметной.

В целом, структура имеет смысл, на мой взгляд, и сделана с учетом расширения проекта. Я бы сохранил это как есть.

+0

Это абсолютно разумно. Но моя проблема - приложение, у которого есть приложение Cordova, и для того, чтобы я мог использовать CLI для обновления кордовы или установки плагинов, мне пришлось бы перемещать папки под src и избавляться от папки main/java. – James

+0

Вот как структурирован проект CLI. – James