# 📥 Aktualizacja aplikacji Android na bramce, ułatwienia na starcie

**URL:** <https://ai-speaker.discourse.group/t/aktualizacja-aplikacji-android-na-bramce-ulatwienia-na-starcie/1477>\
**Category:** Ogłoszenia\
**Created:** [11 Marzec 2021 11:19 UTC](https://ai-speaker.discourse.group/t/aktualizacja-aplikacji-android-na-bramce-ulatwienia-na-starcie/1477 "2021-03-11T11:19:46Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Autor:** ![jolka](https://yyz2.discourse-cdn.com/free1/user_avatar/ai-speaker.discourse.group/jolka/32/5_2.png) [@jolka](https://ai-speaker.discourse.group/u/jolka)\
**Data wpisu:** [11 Marzec 2021 11:19 UTC](https://ai-speaker.discourse.group/t/aktualizacja-aplikacji-android-na-bramce-ulatwienia-na-starcie/1477/1 "2021-03-11T11:19:46Z")

</div>

## Aktualizujemy 2 aplikację na bramkach

📥 📺

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ń 😉

Stopniowo odchodzimy od pokazywania konsoli i ustawień, a będziemy pokazywać same ładne ekrany… bo wszyscy lubią ładne ekrany 🙂

# 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 🚀 pokazuje co robi aplikacja AisLauncher:

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/b/b89d5c2b5dd8d1cbad419200f1c104237634178f.jpeg)

# 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:

 ![](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/f/f14400855005d91f42e438078bbcf9fcb4e60f68.png)

następnie je rozpakowuje:

 ![](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/7/71eb32ffb80edc1b409df333d83b2731a48e7a45.png)

generuje dostep ssh i uruchamia usługi:

 ![](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/f/f988da8b18d3e83864b9f17c313f25bbb4fa84ef.png)

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 🖼

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 😉

 ![](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/b/b033a460bff54de92e4028a17585a295955d07e2.jpeg)

* * *

# Dodatek 1 - Instalacja ręczna aplikacji Androidowych

> ⚠  
> 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ą 😉 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:

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

```

efekt:

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/1/1ac01ae4fb569a98c5314de33a058f6a1a5bf42a.png)

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:

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

```

efekt komendy - zainstalowana nowa aplikacja na bramce:

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/f/fdc78ba69cd7361a1bd9b421e3822337b7000e4b.png)

To samo możemy zrobić z aplikacją AIS dom serwer - analogiczne 2 komendy:

pobieramy:

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

```

instalujemy:

> ⚠ UWAGA - po instalacji aplikacji serwer nastąpi zatrzymanie serwera na bramce przez system Android. Trzeba ponownie uruchomić bramkę żeby wszystko wstało ponownie.

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

```

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/1/1a265f21f3ca52e67772be5eec73d4d0deaefe9c.png)

# 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”:

```auto
  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:

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

```

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/e/ec31137169dded53c6e89cf2766274b51886b4ff.png)

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” 👍

# 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 🖼

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:

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/2/2344d01cf24056050fc2a8430b194b4902034662.png)

Np. tak jak pokazano strzałkami:

```auto
pm2 resurrect

```

czyli wskrzeszenie serwisów przez pm2

i

```auto
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 😉

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:

> [@Hello.sh, Bash, Konsola w aplikacji - interpreter poleceń na bramce](https://ai-speaker.discourse.group/t/hello-sh-bash-konsola-w-aplikacji-interpreter-polecen-na-bramce/404):
>
> Bash, Konsola w aplikacji - interpreter poleceń na bramce Opiszę, jak dodać skrypt powłoki bash, a następnie uruchomić go z Asystenta domowego. Celem tego opisu jest pokazanie, w jaki sposób można dodać na bramce własny skrypt, a następnie wykonać go z automatyzacji. W ten sposób można zrobić własny backup co określony czas, czy wywołać co tylko chcemy z innych naszych programów - generalnie wszystko, czego nam brakuje na bramce, a bardzo chcemy to mieć. Konsola Konsola dostępna w aplikacji…

👍

---

_[View the full topic](https://ai-speaker.discourse.group/t/aktualizacja-aplikacji-android-na-bramce-ulatwienia-na-starcie/1477)._
