Netrix je frontend za eDAP API, pisan u Ionic frameworku (Angular).
Popis promjena odnosno changelog je moguće pronaći ovdje.
- Klonirajte repository na disk:
git clone [email protected]:btx3/Netrix # ili "git clone https://github.com/btx3/Netrix" ako nemate SSH podešen
cd Netrix/Netrix
- Instalirajte potrebne programe:
sudo apt install npm nodejs -y # NodeJS i package manager NPM
curl https://github.com/frekele/oracle-java/releases/download/8u212-b10/jdk-8u212-linux-x64.tar.gz | tar xz
cd jdk1.8.0_212
sudo cp -r bin/ lib/ include/ /usr/
sudo cp -r jre/{bin,lib} /usr/
cd .. && rm -rf jdk1.8.0_212
Testirajte radi li sve kako treba:
$ javac -version
javac 1.8.0_212
Nakon toga treba instalirati gradle
:
curl https://services.gradle.org/distributions/gradle-5.5-bin.zip | tar xz
sudo cp -r gradle-5.5/{bin,lib} /usr/
rm -rf gradle-5.5
Opet, provjerite radi li:
$ gradle -v
------------------------------------------------------------
Gradle 5.5
------------------------------------------------------------
Build time: 2019-06-28 17:36:05 UTC
Revision: 83820928f3ada1a3a1dbd9a6c0d47eb3f199378f
Kotlin: 1.3.31
Groovy: 2.5.4
Ant: Apache Ant(TM) version 1.9.14 compiled on March 12 2019
JVM: 1.8.0_212 (Oracle Corporation 25.212-b10)
OS: Linux 5.0.0-20-generic amd64
Zatim trebate skinuti Android Studio (bit će u .tar.gz formatu) i instalirati ga:
(u novom terminalu [Ctrl+Alt+T]):
mv Downloads/android-studio-* .
tar xzf android-studio-*
rm -f android-studio-*
cd android-studio/bin/
./studio.sh
Kroz instalaciju samo "Next". Nakon što završi, odite pod "Configure" u donjem desnom kutu na "SDK Manager":
i odaberite "Android 9.0 (Pie)":
pa onda gore "SDK Tools" gdje treba odabrati "NDK":
Pritisnite "Apply", označite "Accept" na prozoru koji se otvori i stisnite "Next".
Ovo preuzimanje i instalacija će možda potrajati (pošto ima ~1GB za preuzeti).
Nakon toga, potrebno je konfigurirati SDK instalaciju (ovo u prvotno otvorenom terminalu):
# Linux
echo -e "ANDROID_HOME=$HOME/Android/Sdk\nPATH=\${PATH}:\$ANDROID_HOME/tools:\$ANDROID_HOME/platform-tools" >> ~/.bashrc
source ~/.bashrc
# macOS
echo -e "ANDROID_HOME=$HOME/Library/Android/sdk\nPATH=\${PATH}:\$ANDROID_HOME/tools:\$ANDROID_HOME/platform-tools" >> ~/.zshenv # ~/.bash_profile na macOS <10.15
source ~/.zshenv
I, na kraju, provjerite je li SDK dobro konfiguriran:
$ adb --version
Android Debug Bridge version 1.0.41
Version 29.0.1-5644136
Installed as /home/btx3/Android/Sdk/platform-tools/adb
- Instalirajte NodeJS module:
Za dostupnost nekih NPM moduleova potrebno ih je instalirati globalno (-g
argument). Preporučeno je da slijedite ove upute za omogućivanje globalne instalacije NPM paketa bez korištenja sudo
komande.
Potrebno je pokrenuti ovo:
npm i # Instalira lokalne dependencye
npm i -g cordova cordova-res @ionic/cli native-run # Instalira CLI alate
- Podesite Firebase:
Potrebno je preuzeti google-services.json
(za Android) i GoogleService-Info.plist
(za iOS) datoteke i staviti ih u Netrix/
folder.
- Kreirajte Android platformu:
Potrebno je pokrenuti ovu komandu:
ionic cordova platform add android --no-resources
To će preuzeti sve Cordova pluginove i konfigurirati Android platformu.
- Napravite potrebne izmjene:
Provjerite ovaj dokument za popis potrebnih izmjena.
- Pokrenite:
Testno okruženje s automatskim ažuriranjem (live reloading, ostavite mobitel povezan s računalom):
ionic cordova run android -l --ssl
Standalone debug build (omogućava remote DevTools):
ionic cordova build android
Standalone release build u APK formatu (bez debug mogućnosti, za Play Store):
rm -rf www && ionic cordova build android --prod --release
UPOZORENJE: Podrška za iOS nije najbolja, uglavnom zato što nemam iOS uređaj za testiranje, a ni 99 dolara godišnje za obavijesti nije baš jeftino.
Debug build:
ionic cordova run ios
Debug build za uređaj:
ionic cordova run ios --device
Netrix u debug načinu ima dodatne funkcije u postavkama, pod kategorijom "Experimental".
Briše sve zakazane obavijesti i postavlja ih ponovno.
Postavlja trenutni jezik aplikacije na hrvatski (ako uređaj nije već na hrvatskom). Korisno za screenshotove ili jednostavno testiranje prijevoda.
Mijenja usingCache
varijablu.
usingCache
odnosno ApiService.usingCachedContent
upravlja dostupnosću nekih mogućnosti koje koriste internetsku vezu.
Briše svu predmemoriju (cache). Stupa na snagu nakon ponovnog pokretanja aplikacije.