Cordova js per android 14

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/