vtretyakov 8ca95b0d34 read me up
2019-10-04 11:43:57 +07:00
2019-06-03 16:52:20 +07:00
2019-04-09 22:59:46 +07:00
2019-06-03 16:55:41 +07:00
2019-06-02 22:34:13 +07:00
2017-10-09 18:46:51 +03:00
2019-02-27 14:19:34 +07:00
2019-02-14 16:43:00 +07:00
2019-03-14 18:35:14 +07:00
Key
2019-02-14 16:44:19 +07:00
2019-03-06 23:42:10 +08:00
2019-03-12 17:13:08 +08:00
2019-10-04 11:43:57 +07:00

#Приложение Checker.

Для запуска необходимо установить Dart - язык программирования v2.5.1. flutter - фреймворк для создания кроссплатформенных мобильных приложений на этом языке. flutter v1.7.8+hotfix.4 Android Studio v3.5

Для сборки и запуска приложения используются команды flutter run (собирает debug apk, устанавливает его на устройство) и flutter build (собирает release apk, не устанавливает на устройство).

Команды run и build необходимо выполнять с опцией --flavor, чтобы apk файл собирался с необходимыми ресурсами и настройками. Название конкретной flavor передается в аргументе. Все flavors перечислены в файле android/app/build.gradle.

#Добавление брендированного приложения

Для добавления брендированного приложения с названием %name% необходимо:

  1. В каталог assets/ положить изображения %name%_logo.png и %name%_splash.png В качестве splash очень желательно использовать квадрат белого цвета 100x100.

  2. В файл pubscpec.yaml в раздел assets/ добавить пути этих изображений.

  3. В файл lib/resources.dart в методы getPrimaryColor и getButtonsColor добавить цвета необходимые цвета.

  4. В файл android/app/build.gradle в раздел productFlavors добавить блок следующего вида:

%name% {
    applicationId 'com.dinect.autobonus'
    buildConfigField "String", "locale", "\"ru\""
    buildConfigField "String", "flavor", "\"%name%\""
    buildConfigField "int", "currency", "643"
    buildConfigField "String", "supportPhone", "\"8-800-234-6064\""
    buildConfigField "String", "supportUrl", "\"https://www.auto-club.biz\""
    buildConfigField "String", "endpoint", "\"https://pos-api-int.dinect.com/20130701/\""
    buildConfigField "String", "appToken", "\"9fec83cdca38c357e6b65dbb17514cdd36bf2a08\""
}

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

  1. В каталог android/app/src/ добавить каталоги %name%/res в которых воссоздать структуру ресурсов аналогичную представленной в каталоге android/app/src/pip/res/: Каталоги mipmap должны содержать иконки, каталоги values должны содержать .xml файлы с названием приложения в следующем формате:
<resources>
    <string name="app_name">%name%</string>
</resources>

Иконки проще всего нарезать тут: https://romannurik.github.io/AndroidAssetStudio/icons-launcher.html

В качестве Foreground выбрать иконку приложения размером 512x512, выставить необходимые параметры и скачать архив с нарещанными иконками.

После выполнения всех этих пунктов появится возможность собирать приложение как описано выше(flutter run --flavor %name% либо flutter build apk --flavor %name%).

#Добавление локализации приложения

  1. В каталог lib/i18n добавить файл messages_%locale%.dart. Файл делать по аналогии с messages_en.dart. Либо с messages_ru.dart.

  2. В каталог android/app/src/main/res добавить каталог values-%locale% с единственным файлом strings.xml. Файл должен иметь структуру полностью аналогичную файлу android/app/src/main/res/values/strings.xml, измениться должны только значения для строк.

#IOS 0) Установите flutter https://flutter.io/setup-macos/

  1. В Xcode создать target аналогично существующим (Autobonus, Develop, PIP, Dinect). Лучше делать путем дублирования существующих
  2. При создании таргета автоматически создается build scheme с таким же именем и привязывается к нему
  3. В настройках созданного target прописать bundleId (например com.dinect.something)
  4. В файле ios/Runner/AppDelegate.m определить словарь настроек аналогично существующим
  5. Для того чтобы сбилдить нужный брэнд в Xcode указать нужную схему

Регламент сборки

  1. Четко фиксируем версию Flutter
  2. Четкая фиксация версии библиотек зависимостей андройд и iOS
  3. При обновлении версий библиотек и flutter разработка в отдельной ветке. (default всегда должен собираться)
  4. Разработка новых фич в отдельных ветках
  5. Настройка CI для Андройд до
  6. Настройка Hg Ignore корректно 22.06
Description
No description provided
Readme 317 MiB
Languages
Dart 67.3%
Java 12.9%
Swift 10.7%
Objective-C 4.5%
Ruby 3.3%
Other 1.2%