Создание андроид-приложения (APK)

Постройте сами вместо того, чтобы загружать

AndroidAPS недоступен для скачивания из-за законодательства, касающегося медицинских устройств. Построить приложение для собственного использования вполне законно, но вам не разрешается передавать копию другим! См. раздел FAQ.

## Важные Примечания

Configuration on demand is not supported by the current version of the Android Gradle plugin!

Если сборка выполнена с ошибкой, относящейся к “выборочной конфигурации”, можно сделать следующее:

  • Open the Preferences window by clicking File > Settings (on Mac, Android Studio > Preferences).
  • In the left pane, click Build, Execution, Deployment > Compiler.
  • Uncheck the Configure on demand checkbox.
  • Click Apply or OK.

Эта статья разделена на две части.

  • In the overview part there is an explanation on what steps are necessary to build the APK file.
  • In the step by step walkthrough part you will find the screenshots of a concrete installation. Because the versions of Android Studio - the software development environment which we will use to build the APK - will change very quickly this will be not identical to your installation but it should give you a good starting point. Android Studio also runs on Windows, Mac OS X and Linux and there might be small differences in some aspects between each platform. If you find that something important is wrong or missing, please inform the facebook group “AndroidAPS users” or in the Gitter chats Android APS or AndroidAPSwiki so that we can have a look at this.

Главный экран, Начало

In general, the steps necessary to build the APK file:

  • Установите Git
  • Install and setup Android Studio.
  • Use git to clone the source code from the central Github repository where the developers have put the actual code for the app.
  • Open the cloned project in Android Studio as active project.
  • Build the signed APK.
  • Transfer the signed APK to your smartphone.

Пошаговое руководство

Detailed description of the steps necessary to build the APK file.

Установите git (если у вас его нет)

Follow the manual on the git installation page.

Установите Android Studio

The following screenshots have been taken from Android Studio Version 3.1.3. Your screen might look a bit different depending on the Android Studio version you use. But you should be able to find your way through. Help from the community is provided for example in the AndroidAPS Facebook group and other places.

Install Android Studio and setup during first start.

Select “Do not import settings” as you have not used it before.

Снимок экрана 1

Click “Next”.

Screenshot 2

Select “Standard” installation and click “Next”.

Screenshot 3

Select the theme for the user interface you like. (In this manual we used “Intellij”. Then click “Next”. This is just the color scheme. You can select any you like (i.e. “Darcula” for dark mode). This selection has no influence on building the APK.

Screenshot 4

Click “Next” on the “Verify Settings” dialog.

Screenshot 5

The Android emulator (to emulate the smartphone on your PC or Mac) is not used to build the APK. You can click “Finish” to finish the installation and read the documentation later on demand.

Screenshot 6

Android Studio is downloading a lot of software components it uses. You can click on the “Show Details” button to the what happens but that’s not important at all.

Screenshot 7

Screenshot 8

After the downloads are completed click the “Finish” button.

Screenshot 9

  • Applause, applause you have now finished the Android Studio installation and can start cloning the source code. Maybe it’s time for a short break?

Set git path in preferences

Windows

  • Let Studio know where is git.exe located: File - Settings

    Android Studio - open settings

  • In the next window: Version Control - Git

  • Choose correct path: .../Git/bin

  • Make sure update method “Merge” is selected.

    Android Studio - GIT path

Mac

  • 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.

Download code and additional components

  • Use git clone in Android Studio as shown in screenshots below. Select “Check out project from Version Control” with “Git” as concrete version control system.

Screenshot 10

Version_Control_Git

Fill in the URL to the main AndroidAPS repository (“https://github.com/MilosKozak/AndroidAPS”) and click “clone”.

Screenshot 13

Android Studio will start cloning. Don’t click “Background” as it goes fast and makes things more complicated at the moment.

Screenshot 14

Finish the checkout from version control with opening the project by clicking “Yes”.

Screenshot 15

Use the standard “default gradle wrapper” and click “OK”.

Screenshot 16

Read and close the “Tip of Day” screen of Android Studio by pressing “Close”.

Screenshot 17

  • Excellent, you have your own copy of the source code and are ready to start the build.
  • Now we are approaching our first error message. Fortunately, Android Studio will directly give us the solution for this.

Click “Install missing platform(s) and sync project” as Android Studio needs to install a missing platform.

Screenshot 18

Accept the license agreement by selecting “Accept” and clicking “Next”.

Screenshot 19

As it is said in the dialog please wait until the download is finished.

Screenshot 20

Now it’s finished. Please click “Finish”.

Screenshot 21

Aaaahhh, next error. But Android Studio suggests a similar solution. Click “Install Build Tools and sync project” as Android Studio needs to download missing Tools.

Screenshot 22

As it is said in the dialog please wait until the download is finished.

Screenshot 23

Now it’s finished. Please click “Finish”.

Screenshot 24

And another error to handle as Android Studio needs to download again a missing platform. Click “Install missing platform(s) and sync project”.

Screenshot 25

As it is said in the dialog please wait until the download is finished.

Screenshot 26

Now it’s finished. Please click “Finish”.

Screenshot 27

Click “Install Build Tools and sync project” as Android Studio needs to download missing Tools.

Screenshot 28

As it is said in the dialog please wait until the download is finished.

Screenshot 29

Now it’s finished. Please click “Finish”.

Screenshot 30

Yeah, the error messages are gone and the first gradle build is runing. Maybe it’s time to drink some water?

Screenshot 31

Android Studio recommends to update the gradle system. Never update gradle! This might lead to difficulties!

Please click “Don’t remind me again for this project”.

Screenshot 32

The build is running again.

Screenshot 33

Yeah, the first build is successful but we are not finished.

Screenshot 34

Создание подписанного APK

В меню выберите “Build”(выполнить сборку) и затем “Generate Signed Bundle / APK...”(создать подписанный пакет программ). (Меню в Android Studio изменилось с сентября 2018 года. In older versions select in the menu “Build” and then “Generate Signed APK...”.)

Signing means that you sign your generated app but in a digital way as a kind of digital fingerprint in the app itself. Это необходимо потому, что Android имеет правило, согласно которому принимается только подписанный код для запуска по соображениям безопасности. Для получения дополнительной информации по этой теме перейдите по ссылке здесь. Безопасность - это глубокая и сложная тема, нам она сейчас не нужна.

Снимок экрана 39a

В следующем диалоговом окне выберите “APK” вместо “Android App Bundle” и нажмите кнопку “Далее”.

Снимок экрана 39b

Выберите “app” (приложение) и нажмите “Next” (далее).

Снимок экрана 40

Click “Create new...” to start creating your keystore. A keystore in this case is nothing more than a file in which the information for signing is stored. It is encrypted and the information is secured with passwords. We suggest storing it in your home folder and remember the passwords but if you lose this information it’s not a big issue because then you just have to create a new one. Best practice is to store this information carefully.

Screenshot 41

  • Fill in the information for the next dialog.
    • Key store path: is the path to the keystore file. Do not save in same folder as projekt. You must use a different directory!
    • The password fields below are for the keystore to double check for typing errors.
    • Alias is a name for the key you need. You can leave the default or give it a fancy name you want.
    • The password fields below the key are for the key itself. As always to double check for typing errors.
    • You can let the validity at the default of 25 years.
    • You only have to fill out first name and last name but feel free to complete the rest of information. Then click “OK”.

Screenshot 42

Fill in the information of the last dialog in this dialog and click “Next”.

Screenshot 43

Select “full” (or “fullRelease”) as flavour for the generated app. Select V1 “Jar Signature” (V2 is optional) and click “Finish”. В дальнейшем может пригодиться следующая информация.

  • ‘Release’ должен быть вашим выбором по умолчанию для “Build Type”(типа сборки), ‘Debug’ только для программистов.
  • Выберите тип сборки, который хотите создать.
    • full / fullRelease (i.e. recommendations automatically enacted in closed looping)
    • открытый цикл (рекомендации, адресованные пользователю, выполняются вручную)
    • управление помпой (дистанционное управление помпой, без функционирования цикла)
    • nsclient (например, отображаются данные другого пользователя, могут добавляться записи портала лечения/назначений)

Снимок экрана 44

В журнале событий вы увидите, что подписанное приложение (APK) было создано успешно.

Снимок экрана 45

Нажмите на ссылку “Найти” в журнале событий.

Снимок экрана 46

Перенос приложения на смартфон

Открывается окно файлового менеджера. Может выглядеть немного иначе в вашей системе, поскольку я использую Linux. В Windows это будет File Explorer (проводник), а на Mac OS X Finder (поисковик). Там вы увидите каталог с созданным APK файлом. К сожалению, это неверное место, так как “wear-release.apk” не является подписанным приложением, которое мы ищем.

Снимок экрана 47

Перейдите к папке AndroidAPS/app/full/release, чтобы найти файл “app-full-release.apk”. Перенесите этот файл на смартфон Android. You can do it on your preferred way, i.e.

  • Bluetooth
  • cloud upload (Google Drive or other cloud services)
  • connect computer and phone by cable
  • by mail (Note that some mail apps do not allow apk attachments, in this case use other transfer method.)

In this example Gmail is used as it is fairly simple. To install the self-signed app you need to allow Android on your smartphone to do this installation even if this file is received via Gmail which is normally forbidden. Если переносите установщик другим способом, поступите соответственно.

Снимок экрана 48

В настройках смартфона есть область “установка неизвестных приложений” где я даю Gmail право устанавливать APK файлы, которые я получаю через Gmail.

Выберите “Разрешить из этого источника”. После установки вы можете отключить его снова.

Установка приложений из неизвестных источников

Последний шаг - нажать на файл APK, который я получил через Gmail и установить приложение. Если APK не установливается и у вас более старая версия AndroidAPS на телефоне, подписанная другим ключом, то нужно сначала удалить более старое приложение; при этом не забудьте экспортировать ваши настройки!

Да, все получилось, теперь можно начать настройку AndroidAPS (CGMS, помпа) и т. д.

Identify receiver if using xDrip

See xDrip page

Устранение неполадок

See separate page troubleshooting Android Studio.