#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 1. node -v $nvm install 16.13.0 v14.15.5 -> 16.0.3 2. java -versione v8 -> v11 x usare gradle 7.5 -> 8 3. npm -v 6.14.11 4. cordova -v 10.0.3 -> 11.0.1 5. 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 https://cordova.apache.org/docs/en/11.x/core/features/splashscreen/index.html#example-android-configuration 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