­čôą Aktualizacja aplikacji Android na bramce, u┼éatwienia na starcie

Aktualizujemy 2 aplikacj─Ö na bramkach

:inbox_tray: :tv:

Aktualizacje wydamy jutro na kanale BETA, a 31 marca na kanale stabilnym.
G┼é├│wnym celem jest uproszczenie pierwszego uruchomienia bramki ale te┼╝ ÔÇťu┼éadnienieÔÇŁ kolejnych uruchomie┼ä :wink:

Stopniowo odchodzimy od pokazywania konsoli i ustawie┼ä, a b─Ödziemy pokazywa─ç same ┼éadne ekranyÔÇŽ bo wszyscy lubi─ů ┼éadne ekrany :slight_smile:

AisLauncher

Pierwsza zmieniona aplikacja to AisLauncher.

AisLauncher to nasz AndroidowyÔÇŽ Launcher, czyli aplikacja do uruchamiania aplikacji.
Nasz Launcher realizuje w systemie 2 rzeczy:

  • uruchomienia aplikacji AIS-dom serwer
  • aktualizacj─Ö aplikacji AIS-dom serwer

Jedyn─ů zamian─ů w tej aplikacji jest to, ┼╝e przy pierwszym uruchomieniu bramki b─Ödzie ona uruchamia─ç nie aplikacj─Ö AIS dom serwer ale nowy kreator do pierwszej konfiguracjiÔÇŽ nie zauwa┼╝ycie tej zmiany bo, mieli┼Ťcie ju┼╝ pierwsze uruchomienie bramki.

Ta sugestywna ikonka :rocket: pokazuje co robi aplikacja AisLauncher:

Ais Dom Serwer

Serwer AIS to jest aplikacja która działa na bramce i jest uruchamiana przez AisLauncher po każdym starcie bramki.

Podczas pierwszego uruchomienia (lub po pe┼énym resecie tej aplikacji), aplikacja AIS dom serwer pobiera najnowsz─ů paczk─Ö pakiet├│w startowych kt├│re potrzebuje do dzia┼éania:

nast─Öpnie je rozpakowuje:

generuje dostep ssh i uruchamia usługi:

Normalnie podczas ka┼╝dego startu bramki, odbywa si─Ö taki przep┼éyw: System Android Ôćĺ AisLauncher Ôćĺ AIS dom serwer Ôćĺ uruchomienie us┼éug

  • ais / ha
  • ftp
  • mqtt
  • webssh
  • ÔÇŽ
    Ôćĺ uruchomienie ┼éadnego ekranu :framed_picture:

Po uruchomieniu us┼éug, najcz─Ö┼Ťciej nast─Öpowa┼éo przej┼Ťcie do ustawie┼ä aplikacji albo do jednego z tryb├│w sterowania, albo system zostawa┼é w konsoliÔÇŽ ten ÔÇťflowÔÇŁ by┼é ogarniany przez system Android kt├│ry sam uruchamia┼é ostatnie aktywno┼Ťci.

Teraz b─Ödzie zauwa┼╝alna zmiana w tym procesie - poka┼╝emy tylko na chwil─Ö konsol─Ö podczas startu - ┼╝eby mo┼╝na by┼éo widzie─ç czy wszystkie us┼éugi wstaj─ů poprawnie. Nast─Öpnie zawsze automatycznie przejdziemy do ÔÇť┼éadnego ekranuÔÇŁ.

Czyli b─Ödzie ÔÇťmniej widocznej konsoli i ustawie┼ä w systemieÔÇŁ i o to w tej aktualizacji chodzi :wink:


Dodatek 1 - Instalacja r─Öczna aplikacji Androidowych

:warning:
Poni┼╝szy opis jest dla zaawansowanych technicznie os├│b. Nie r├│b tego je┼Ťli nie jeste┼Ť pewny, ┼╝e wiesz co robisz.

Gdyby kto┼Ť ju┼╝ t─Öskni┼é za znikaj─ůca za szybko konsol─ů :wink: i chcia┼é zrobi─ç instalacj─Ö r─Öcznie to ju┼╝ wyja┼Ťniamy jak to zrobi─ç.
W ten sam spos├│b mo┼╝na instalowa─ç inne aplikacji Android na bramce - wi─Öc ten opis mo┼╝e si─Ö przyda─ç.

  1. Pobranie aplikacji

Najłatwiej to zrobić programem curl który dostarczamy na bramce.
To jest komenda kt├│ra wpisana w konsoli pobiera aplikacj─Ö AisLauncher.apk z naszej strony OTA i zapisuje j─ů w folderze /sdcard na bramce:

curl -o "/sdcard/AisLauncher.apk" -L  https://powiedz.co/ota/android/AisLauncher.apk

efekt:

  1. Instalacja aplikacji

Aplikacj─Ö mo┼╝e instalowa─ç tylko su (super user), aplikacja kt├│ra instaluje inne aplikacje w systemie Android to program pm package manager.
Ta komenda to uruchomienie instalacji aplikacji z lokalizacji sdcard (do kt├│rej jest dost─Öp po ftp), jako su/root w systemie:

su -c "pm install -r /sdcard/AisLauncher.apk"

efekt komendy - zainstalowana nowa aplikacja na bramce:

To samo mo┼╝emy zrobi─ç z aplikacj─ů AIS dom serwer - analogiczne 2 komendy:

pobieramy:

curl -o "/sdcard/AisPanelApp-test.apk" -L https://powiedz.co/ota/android/AisPanelApp-test.apk

instalujemy:

:warning: UWAGA - po instalacji aplikacji serwer nast─ůpi zatrzymanie serwera na bramce przez system Android. Trzeba ponownie uruchomi─ç bramk─Ö ┼╝eby wszystko wsta┼éo ponownie.

su -c "pm install -r /sdcard/AisPanelApp-test.apk"

Dodatek 2 - Uruchamianie aplikacji Android z konsoli AIS

Do uruchamiania w systemie Android innych aplikacji / aktywno┼Ťci s┼éu┼╝y mechanizm intencji.
Z konsoli mo┼╝emy zrobi─ç to za pomoc─ů aplikacji am application manager.
Np ta komenda wydana z konsoli w┼é─ůcza nasz ÔÇť┼éadny ekranÔÇŁ:

  su -c "am start -n pl.sviete.dom/pl.sviete.dom.WelcomeActivity --es BROADCAST_REDIRECT_ME_TO_ACTIVITY 1"

podobie mo┼╝ecie uruchomi─ç z konsoli aplikacj─Ö Explorer plik├│w:

su -c "am start -n pl.sviete.dom.anexplorer.pro/dev.dworks.apps.anexplorer.DocumentsActivity"

Ten sam mechanizm dzia┼éa do ka┼╝dej aplikacji Android kt├│ra rozumie ÔÇťintencjeÔÇŁ.
W ten spos├│b mo┼╝ecie zrobi─ç automatyzacj─Ö i otwiera─ç np aplikacj─Ö Netflix komend─ů g┼éosow─ů ÔÇťUruchom Nowy wspania┼éy ┼ŤwiatÔÇŁ :+1:

Dodatek 3 powłoka Linux / bash

Tak jak opisywali┼Ťmy na pocz─ůtku, podczas ka┼╝dego startu bramki, odbywa si─Ö taki przep┼éyw w systemie:
System Android Ôćĺ AisLauncher Ôćĺ AIS dom serwer Ôćĺ Uruchomienie us┼éug (ssh, ais / ha, ftp, mqttÔÇŽ) Ôćĺ Uruchomienie aktywno┼Ťci Android / ┼éadnego ekranu :framed_picture:

Ten ostatni krok (wy┼Ťwietlenie ┼éadnego ekranu) realizowany jest obecnie w pow┼éoce startowej u┼╝ytkownika Linux.
┼╗eby konsola nie pojawia┼éa si─Ö na starcie wystarczy zmieni─ç kolejno┼Ť─ç 2 lnijek w bash:

Np. tak jak pokazano strzałkami:

pm2 resurrect

czyli wskrzeszenie serwis├│w przez pm2

i

su -c "am start -n pl.sviete.dom/pl.sviete.dom.WelcomeActivity --es BROADCAST_REDIRECT_ME_TO_ACTIVITY 1"

start WelcomeActivity, czyli ładnego ekranu.

Gdyby zamieni─ç te 2 linijki to nie b─Ödzie konsoli na starcie tylko ┼éadny ekranÔÇŽ ale to jeszcze nie teraz :wink:

Nie piszemy o jaki dok┼éadnie plik na bamce chodzi, ┼╝eby┼Ťcie nie popsuli sobie bramek - ta konfiguracja to zaawansowany temat dla tych co rozumiej─ů bash - polecamy wprowadzenie:

:+1:

1 polubienie