Содержание
Наверное, любой разработчик работающий в Android Studio задумывался о создании своего собственного шаблона, чтобы не создавать каждый раз все заново. Даже если создать новый проект и перекидывать туда файлы это может занять много времени так как файлов может быть много, а есть еще и настройки gradle, и всякие библиотеки типа ProGuard со своими файлами настроек.
Можно кстати сделать Template отдельных файлов, например adapter, можете посмотреть например здесь как это делается. Это будет прям настоящий шаблон, в котором мы пропишем все имена переменных, которые хотим заменить на новые. Например userList -> contactList и т.д. И можно его сколько угодно вставлять, задавая новое имя и новые имена переменных, чтобы потом не заморачиваться с Refactor.
Но давайте вернемся к нашей теме про шаблон проекта. Вы наверное сразу подумали о Temlate который находится в File -> New Project, но сразу скажу нет. С этими шаблонами слишком много заморочек, к тому же документации по их замене почти нет. Такое чувство, что разработчик не хотел бы чтобы мы трогали эти шаблоны. Дело в том, что эти шаблоны привязаны к версиям SDK и они будут меняться, поэтому Android Studio и не хочет, чтобы мы туда лезли, а потом кричали что Android Studio глючит направо и налево. Но что же делать, нам же нужны шаблоны.
Я покажу как сделать скелет проекта. То есть мы создадим проект положим его в свою папку Templetes, затем скопируем его переименуем и зачистим под новое имя. Тут основное вопрос заключается в изменении пакета и имени app файла, чтобы полностью отвязаться от старого имени проекта.
Создадим Template
- Создадим новую папку Templates
- Создадим в ней свой проект File – New Project. Придумаем имя проекту и укажем папку которую мы создали.
- Сделаем заготовку проекта как мы хотим. На этом наш Template готов.
Используем Template
- Скопируем папку всего нашего проекта (например Template1).
- Переименуем эту папку (например в Project1).
- Откроем новый проект (например в Project1) в Android Studio.
- откроем AndroidManifest.xml наведем на имя пакета -> Refactor -> Rename
Выберем Rename Package
- откроем AndroidManifest.xml наведем на имя пакета -> Refactor -> Rename
Теперь введем новое имя проекта. В Scope должен быть указан Project Files. И нажимаем Refactor.
- Теперь откроем build.gradle (Module). Находим следующие строки и просто меняем название на новый проект. Нажимаем Sync Now
defaultConfig { applicationId "ru.jandroid.template1" ... // Я поменял так applicationId "ru.jandroid.project1"
4. Теперь поменяйте представление проекта из Android -> Project и найдите файл settings.gradle. В этом файле замените rootProject.name и нажмите Sync Now.
rootProject.name = "Template1" // Я поменял так rootProject.name = "Project1"
Переименуем файлы app если остались следы от Template1
Если все равно остались следы от Template1, то найдем эти следы в папке проекта.
Теперь Закройте Android Studio. Откройте папку с проектом в браузере и в поиске введите название шаблона с которого мы унаследовали наш файл (в моём случае это Template1). Переименуйте эти файлы в ваш новый проект.
Теперь все готово. Запустите проект и убедитесь что следов Template1 больше нигде не осталось.
Заключение
Практика показывает, что помогает Refactor названия проекта в файлах:
AndroidManifest.xml
build.gradle (Module)
settings.gradle
Более того, делать шаблон всего проекта по правилам как в примере с adapter это достаточно длительный процесс, так как файлов в шаблоне будет скорее всего много. И в будущем с заменой SDK этот шаблон пришлось бы корректировать. Так что вариант со скелетом файла шаблона выглядит очень даже ничего.