hooks | ||
res | ||
screenshot | ||
www | ||
.gitignore | ||
app-release111.aab | ||
config.xml | ||
marketicon.png | ||
network_security_config.xml | ||
package.json | ||
primopiano.jpg | ||
README.md |
#App Radio Citta' Fujiko
Dal 2020 https://play.google.com/store/apps/details?id=it.radiocittafujiko.app app ibrida, in html5, per Android. Permette di ascoltare lo streaming di Radio Città Fujiko senza interrompere la musica quando l'app va in background. Lettore feed per le notizie, link alle sezioni del sito.
Profilo bash
contenuto del file .bash_profile per la mia home:
export JAVA_HOME=/usr/lib/jvm/jdk-11/ export ANDROID_HOME=/home/human/android/ export ANDROID_SDK_ROOT=/home/human/android/ export PATH=${PATH}:/home/human/android/platform-tools:/home/human/android/tools:/home/human/android/build-tools:/home/human/android/emulator #gradle export PATH=$PATH:/home/human/gradle-7.6/bin export PATH=$PATH:/home/human/.local/bin/
Strumenti
- node -v $nvm install 16.13.0
v14.15.5 -> 16.0.3
- java -versione
v8 -> v11
x usare gradle 7.5 -> 8
- npm -v
6.14.11
- cordova -v
10.0.3 -> 11.0.1
- cordova platform android
10.0.0 -> 12.0.0
https://cordova.apache.org/announcements/2023/05/22/cordova-android-12.0.0.html
iniziare, creare il progetto
$cordova create "App_RCF" it.radiocittafujiko.app "RadioCittàFujiko"
$cordova platform add android
$cordova platform add browser
$cordova requirements
lista plugin
Aggiungere
cordova plugin add cordova-plugin-powermanagement-orig
cordova plugin add cordova-plugin-android-wifi-lock
cordova plugin add https://github.com/Viras-/cordova-plugin-powermanagement.git
cordova plugin add cordova-plugin-music-controls2
Per Android API 32:
$ cordova plugin ls at.gofg.sportscomputer.powermanagement 1.1.2 "PowerManagement" cordova-plugin-android-wifi-lock 1.0.0 "WiFiLock" cordova-plugin-music-controls2 3.0.6 "Music Controls" cordova-plugin-network-information 2.0.2 "Network Information"
Per Android API 33:
$ cordova plugin ls at.gofg.sportscomputer.powermanagement 1.1.2 "PowerManagement" cordova-plugin-android-wifi-lock 1.0.0 "WiFiLock" cordova-plugin-music-controls2 3.0.7 "Music Controls" cordova-plugin-network-information 2.0.2 "Network Information"
firmare l'apk
avanza la versione in config.xml , le versioni verranno stampate in migliaia: 1.0.1 = 10001
https://cordova.apache.org/docs/en/latest/guide/platforms/android/#signing-an-app
cordova build android --release --buildConfig=myBuildConfig.json
Aggiornare le versioni di Android, Cordova, npm, etc..
Verificato la versione di Java in uso, perchè gli aggiornamenti Debian possono disinstallare versioni java presenti, quindi:
#update-alternatives --config java
E al momento java 11, ma Cordova 11.0.0 pare andare anche con Java 8, poi:
$npm outdated
Procedo:
$cordova platform add android@12.0.0
OK, quindi si prova a buildare: $cordova build android
Si porta avanti da ~/android/tools/bin/sdkmanager --update Quindi fatto: ~/android/tools/bin/sdkmanager "build-tools;33.0.2" ~/android/tools/bin/sdkmanager "platforms;android-33"
e detto a cordova:
$cordova platform add android --target android-33
Verifico con: $cordova requirements
cambio splashscreen da cordova android@11 al 12
Usato inkscape per avere un svg del logo, poi convertito con questo: https://svg2vector.com/
usare le mediaSession come plugin per cordova
Questo per far si che non cade lo streaming quando va in standby il telefono! Uno dei motivi per cui usare l'app e non il browser.
https://stackoverflow.com/questions/61363184/cordova-navigator-mediasession
https://github.com/ghenry22/cordova-plugin-music-controls2
documentazione web
https://developer.mozilla.org/en-US/docs/Web/API/Media_Session_API
documentazione android
https://developer.android.com/training/tv/playback/media-session