Подключаем Git к Android Studio
Android Studio умеет работать с системами контроля версий (version control system, сокр.VCS). Самой популярной системой является Git, которая стала практически стандартом во многих языках программирования.
Сама по себе Git управляется через командную строку. Для изучения её возможностей есть множество документации. Мы сфокусируемся на подключении Git к проекту в Android Studio.
Чтобы лучше понять объяснения, откройте старый проект Hello Kitty или создайте его заново, если успели его удалить.
Для начала нужно установить Git. Перейдите на страницу загрузки http://git-scm.com/downloads и скачайте последнюю версию под вашу операционную систему.
Запускаем процесс инсталяции. Не рекомендую устанавливать в папку по умолчанию в системной папке Windows C:\Program Files, так как из-за пробела между словами часто возникают проблемы у многих пользователей при работе с командной строкой. Я установил в папке D:\Git. Желательно также прописать путь к папке D:\Git\bin\ в переменной окружения PATH.
Запускаем файл git-bash.exe для запуска консоли. Следует сконфигурировать Git, указав своё имя и электронный адрес, чтобы можно было установить авторство изменений в коде. Вводим по очереди две команды:
Возвращаемся в студию. Выбираем в меню File | Settings и в диалоговом окне в левой части выбираем секцию Version Control | Git. Нажимаем кнопку с многоточием и находим нужный файл на диске.
Для проверки можно щёлкнуть по кнопке Test, вы должны увидеть радостное сообщение в успешном случае. Закрываем окно настроек, применив изменения.

Данная настройка запоминается и в новых проектах этот шаг можно пропустить.
Далее идём в меню VCS | Import into Version Control | Create Git Repository и в диалоговом окне выбираем корневую папку проекта. Для удобства можно сразу нажать на значок студии (третий слева), чтобы сразу переместиться в корневую папку, если окно откроется с другой папкой.

Нажимаем кнопку OK и создаём локальный Git-репозиторий. Под капотом выполняется команда git init.
Как только вы это сделаете, в студии произойдут удивительные изменения. Многие имена файлов в левой панели окрасятся в коричневый цвет.

Коричневый цвет шрифта означает, что файл распознан системой контроля версий на локальном компьютере, но ещё не добавлен в репозиторий. Нам следует подсказать системе об этом.
Но не будем торопиться. При создании локального репозитория студия также создала несколько специальных файлов .gitignore, которые помогают системе контроля версий игнорировать некоторые файлы проекта при изменениях. Один такой файл вы можете найти в корневой папке проекта, а второй в папке app. Можете открыть их любым текстовым редактором. Начнём с файла из корневой папки.
.gradle /local.properties /.idea/workspace.xml /.idea/libraries .DS_Store /build /captures
Как видим, Git будет игнорировать файл .idea/workspace.xml, который относится к конфигурации самой студии на вашем компьютере и к самому проекту не имеет отношения. Аналогично будет проигнорирован файл local.properties, который является уникальным для каждого компьютера. Можно указывать не только отдельные файлы, но и папки. Например, в списке присутствует папка /build. В эту папку попадают файлы при компиляции. Их нет смысла отслеживать, так как они постоянно меняются, когда вы запускаете приложение для проверки. Все файлы, которые должны быть проигнорированы, выводятся обычным чёрным цветом. Обратите внимание на имя файла local.properties на скриншоте выше.
Кроме чёрного и коричневого цвета, имена файлов могут также выводиться синим цветом (файл изменён), зелёным (новый файл).
При подключении Git в нижней части студии появится новая вкладка Version Control. Откройте её. Сейчас вы видите две секции: Default и Unversioned Files. Секция Default сейчас пуста. При изменении или создании новых файлов они попадут в эту секцию. Секция Unversioned Files содержит файлы, которые ещё не были учтены системой контроля версий.
При создании нового проекта файлы автоматически не учитываются и находятся в секции Unversioned Files. Мы хотим их перенести в репозиторий. В левой части панели находятся две колонки со значками. Найдите значок с изображением папки в скобках (при подведении курсора появится подсказка Group by Directory) и нажмите на неё. Файлы будут сгруппированы, как в проекте. Так проще вам будет понять структуру.

Щёлкаем правой кнопкой мыши на Unversioned Files и выбираем в контекстном меню Add to VCS. Либо можно перетащить мышкой эту секцию на секцию Default. В результате все файлы переместятся и будут учтены системой контроля версий.
После добавления файлов нажмите на значок с зелёной стрелкой вверх и надписью VCS (Commit Changes). Откроется диалоговое окно. В текстовом поле Commit Message введите текст, поясняющий изменения в проекте и нажмите кнопку Commit.

Файлы исчезнут из секции Default и теперь находятся под контролем Git. При изменении файл снова попадёт в данную секцию и вам снова нужно выполнить предыдущую операцию Commit.
Например, откроем файл манифеста и добавим разрешение на работу с интернетом. Файл окрасится в синий цвет. Комментируем изменения в проекте, добавив сообщение Добавлено разрешение на интернет.
Просматривать изменения можно на вкладке Log. Вы можете просматривать коммиты и ветки.
Таким образом мы познакомились с базовыми приёмами работы с Git.
Также вы можете создавать новые ветки, сливать их в одну и выполнять прочие операции.
Естественно, вы можете также выкладывать проект на GitHub или наоборот вносить изменения в локальный проект из удалённого репозитория.
Дополнительные статьи
Github представляет популярный репозиторий проектов, который упрощает ведение командной работы над одним проектом, а также позволяет отслеживать все сделанные в нем изменения.
Для работы прежде всего необходимо создать учетную запись на сайте https://github.com. Также для работы необходимо установить инструментарий git, установщики которого для различных ОС можно найти на сайте https://git-scm.com/
Возьмем какой-нибудь проект. В Android Studio перейдем к пункту меню VCS -> Import into Version Control -> Share Project on Github .

Далее надо будет ввести логин и пароль от учетной записи на github.com:

Затем будет предложено ввести дополнительный пароль (Master password):

Если подобного пароля не указывалось ранее, оставим это полу пустым и нажмем OK.
Далее будет предложено указать имя репозитория, удаленное имя и описание:

Описание лучше писать на английском. После ввода всех данных нажмем на кнопку Share.
После этого будет предложено указать те файлы проекта, которые мы хотим закинуть на github:

После удачного экспорта файлов в Android Studio отобразится соответствующее сообщение.
Итак, наш проект уже расположен на github, однако впоследствии мы можем произвести в нем изменения, например, добавить файлы кода, изменить какой-то код. И в этом случае нам надо будет обновить проект в репозитории. Для этого перейдем к пункту меню VCS -> Commit Changes. :

После этого отобразится окошко со сделанными изменениями со времени последнего коммита. В поле Commit Message укажем хаактер сделанных изменений. Для завершения обновления нажмем внизу окошка на кнопку Commit and Push. :

Затем отобразиться дополнительное окошко, где надо подтвердить коммит. Для этого нажмем на кнопку Push :

И через некоторое время обновления будут применены к репозиторию на github.com.
Инструкция по установке
Видеоинструкция по интеграции VPS SDK в проект для Android:
Запуск Example Project
Для запуска примера приложения необходим смартфон с поддержкой ARCore.
- Клонировать репозиторий по ссылке
https://github.com/naviar-io/naviar-sdk-android.git
- Открыть проект в Android Studio(также можно клонировать проект при помощи Android Studio: File → New → Project From Version Control и в поле URL указать ссылку из пункта 1)
- Дождаться окончания синхронизации проекта и запустить проект
По умолчанию приложение запускается для работы с реальными данными и с использованием GPS. Чтобы проверить работу приложения на фото надо выполнить следующие шаги:
-
После запуска приложения и предоставления всех разрешений, нужно сделать долгое нажатие по экрану, появится следующее меню
- Autofocus — выбран
- GPS — не выбран
Интеграция в собственный проект
- В build.gradle модуля добавить зависимость. Для этого в блок dependencies добавить следующую строчку
dependencies implementation("io.naviar:vps-sdk:0.7.0") . >
- Выполнить синхронизацию проекта с gradle.
- Добавить VpsArFragment на экран. Это можно сделать в xml или через код
androidx.fragment.app.FragmentContainerView android:id="@+id/vFragmentContainer" android:name="io.naviar.vps_sdk.ui.VpsArFragment" android:layout_width="match_parent" android:layout_height="match_parent" />
supportFragmentManager.beginTransaction() .replace(R.id.vFragmentContainer, VpsArFragment()) .commit()
- Создать конфигурацию для VpsService . Для этого можно вызвать
// конфигурация для локализации внутри зданий val vpsConfig = VpsConfig.getIndoorConfig(locationIds>) // или конфигурации для локализации вне зданий val vpsConfig = VpsConfig.getOutdoorConfig(locationIds>) // или создать свою конфигурацию val vpsConfig = VpsConfig(locationIds>)
| Название параметра | Описание | Значение по умолчанию |
|---|---|---|
| locationIds | Идентификатор(ы) локации(й) для локализации. | не задано |
| intervalLocalizationMS | Интервал между локализациями. Задается в миллисекундах. | 2500 |
| useGps | Использовать GPS при локализации или нет. | false |
| localizationType | Способ локализации. Можно установить локализацию по фото(Photo) или при помощи нейронных сетей(MobileVps). | MobileVps |
| failsCountToResetSession | Количество неудачных попыток для сброса текущей сессии VPS (количество попыток исправить положение с учетом результата предыдущей локализации) | 5 |
| updateWorldDurationMS | Продолжительность обновления позиции модели между локализациями. Задается в миллисекундах. | 500 |
| updateWorldDistanceLimit | Если разница позиций моделей между двумя локализациями будет больше заданного значения, то позиция модели будет установлена немедленно, а иначе будет плавное перемещение модели до нужной позиции. | 2f |
| updateWorldAngleLimit | Если разница поворота моделей между двумя локализациями будет больше заданного значения, то поворот модели будет установлен немедленно, а иначе будет плавный поворот модели до нужного значения. | 10f |
После установить конфигурацию в VpsService
val vpsService = vpsArFragment.vpsService vpsService.setVpsConfig(vpsConfig)
Установите Git
Make sure that you can call git.exe without the prefing path as Android Studio needs this to find git.exe. It will then automatically sets the path to git.exe correct in the Android Studio settings.
2. Задайте путь к git в параметрах Android Studio
- Open File > Settings

- Click the small triangle next to Version Control (1.) to open the sub-menu.
- Click Git (2.).
- Make sure update method «Merge» (3.) is selected.
- Check if Android Studio can locate path to git.exe automatically by clicking the button «Test» (4.)

- If automatic setting is successful git version will be displayed.
- Click «OK» in the dialog box (1.) and «OK» in the settings window (2.).

- In case file git.exe cannot be found click «OK» in the dialog box (1.) and then the button with the three dots (2.).
- Use search function in windows explorer to find «git.exe» if you are unsure where it can be found. You are looking for git.exe located in binfolder.
- Select path to git.exe and make sure you selected the one in \bin\ folder (3.) and click «OK» (4.).
- Close settings window by clicking «OK» button (5.).

3. Перезагрузитесь
- Reboot your PC to update System Environment.
4. Проверьте параметры git в Android Studio
- Open Terminal window in Android Studio
- Enter git —version (without quotation marks and no spaces between the two — [minus sign]!) and press Return

- If git is installed and connected properly you will receive an information about the installed version that looks as follows:

Mac
- Any git version should work. For example https://git-scm.com/download/mac
- Use homebrew to install git: `$ brew install git` .
- For details on installing git see the official git documentation.
- If you install git via homebrew there is no need to change any preferences. Just in case: They can be found here: Android Studio — Preferences.
© Copyright AndroidAPS community. Ревизия 8193713b . Обновлено: нояб. 18, 2023.
