Cordova è vivo come progetto, si è perso qualche colpo nell’annunciare l’ultima release,
quindi per impacchettare alle API 34, android 14, c’è da fare:
su Debian installarsi i pacchetti di default di nodejs ed npm,
# apt install nodejs npm
Poi ci dicono jdk17 e ci servono pure gli sdk di android
https://cordova.apache.org/announcements/2024/05/23/cordova-android-13.0.0.html
Qui oracle per java https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
ma non la 8 prendiamo la 17.0.13
c’è il pacchetto debian e lo installo manualmente, in realtà a sto giro ho usato GdebInstaller ed è andato tutto bene, parrebbe
Quindi in fondo in fondo a questa pagina mi scarico i Command line tools only https://developer.android.com/studio#Requirements
faccio il cambio di directory che chiedono, qui
credo quindi latest e do il comando
./cmdline-tools/latest/bin/sdkmanager --install "build-tools;34.0.0"
ed idem per la platform
$ ./cmdline-tools/latest/bin/sdkmanager --install "platforms;android-34"
Aggiungo i riferimenti nel bash_profile e lo attivo, dalla mia home:
$nano .bash_profile
Ci scrivo
export ANDROID_HOME=/home/cricco/android-sdk/
export CORDOVA_JAVA_HOME=/usr/lib/jvm/jdk-17.0.13-oracle-x64/
export PATH=$PATH:/opt/gradle/gradle-8.7/bin/
export PATH=$PATH:$ANDROID_HOME/platform-tools/
export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin/
export PATH=$PATH:$ANDROID_HOME/emulator/
Ed a uesto punto dal progetto Cordova, posso testare:
cricco@debian:~/DEVELOPMENT/hello$ cordova requirements
Requirements check results for android:
Java JDK: installed 17.0.13
Android SDK: installed true
Android target: not installed
Command failed with ENOENT: avdmanager list target
spawn avdmanager ENOENT
Gradle: not installed
Could not find an installed version of Gradle either in Android Studio,
or on your system to install the gradle wrapper. Please include gradle
in your path, or install Android Studio
Some of requirements check failed
HA trovato java e l’android sdk
Moh.. manca gradle e l’android target
Scaricato Gradle 8.7, che è quello che indicano nell’articolo del blog di Cordova JS. poi seguito questa guida per installarlo
https://docs.gradle.org/current/userguide/installation.html#ex-installing-manually
Manca solo il target Android
cricco@debian:~/DEVELOPMENT/hello$ cordova requirements
Requirements check results for android:
Java JDK: installed 17.0.13
Android SDK: installed true
Android target: not installed
Command failed with ENOENT: avdmanager list target
spawn avdmanager ENOENT
Gradle: installed /opt/gradle/gradle-8.7/bin/gradle
Some of requirements check failed
FA così ma proviamo cmq a buildare 🙂
Tolgo e rimetto la platform, per sicurezza. Che cordova quando aggiorni o cambi qualcosa sotto, si incazza aprticolarmente con le platform, quindi
$cordova platform remove android
$cordova platform add android
eee BUILDA!
$cordova build android
( cmq verificando che i target di siano per advmanager, ci sono!
cricco@debian:~/android-sdk$ ./cmdline-tools/latest/bin/avdmanager list target
[=======================================] 100% Fetch remote repository…
Available Android targets:
id: 1 or “android-34”
Name: Android API 34, extension level 7
Type: Platform
API level: 34
Revision: 3
id: 2 or “android-35”
Name: Android API 35, extension level 13
Type: Platform
API level: 35
Revision: 2
)
Poi ho trovato un altro tool per fare gli splashscreen in SVG https://shapeshifter.design/