Android Studio è entrato in combustione spontanea

Quell’ammasso di software noto come “Android SDK e Android Studio e Android Vattelapesca” che servono a compilare e debuggare e cosare in vario modo le app, fino a un mese fa, funzionava dignitosamente. Ora si è trasformato in una pila di letame in fiamme in maniera spontanea e casuale.

Capisco perfettamente che Google abbia il desiderio smodato e incontenibile di chiudere tutti in catene dentro ad Android Studio, ma per fare ciò, forse, dovrebbe preoccuparsi di fare funzionare l’infernale arnese; e invece più passa il tempo, più lo distrugge in maniere allucinanti e non documentate, in pieno stile Google. Può fare concorrenza alle “software house” ferme al 2001 con sede in qualche capannone di Cologno Monzese (ce ne sono una valanga, tutte nei capannoni) che fanno software gestionali in Visual Basic, la qualità è la stessa.

Ma andiamo con ordine.

Su Arch, alcuni pezzi del ciarpame necessario (pacchetto android-build-tools) stanno nei repo, altri nell’AUR (Android Studio, l’SDK, etc…).

L’SDK manager (che stava nei tool) e Android Studio hanno la capacità di scaricare gli SDK ed emulatori e cianfrusaglie varie dalla loro interfaccia, visto che servono 23947282349 componenti separati e Google rilascia aggiornamenti come una mitragliatrice e forse è più opportuno installarli da lì che compilare valanghe di pacchetti dell’AUR senza sapere cosa c’è dentro perché se ogni volta dovrei mettermi a leggere il PKGBUILD…

In ogni caso avevo fatto funzionare tutto prima dall’AUR, poi dall’SDK manager.

Ora devo nuovamente compilare l’app che mesi fa avevo compilato migliaia di volte, che in tutti questi mesi è rimasta ferma e inerte.

NON SI COMPILA.

Fallisce con “aidl is missing”: cos’è aidl? Sembra essere un formato di file intermedi che vengono espulsi dal trabiccolo durante qualche stadio della compilazione. Come si risolve? Milioni di persone hanno lo stesso problema, le soluzioni sono più casuali che sciamaniche e non funzionano, provando a caso decideo di abbassando la versione dei tools richiesta dal progetto (per un po’ usavano quella versione, poi l’avevo aggiornata e per un altro po’ ho usato l’altra, non ho messo un numero a caso), che non so cosa c’entri ma ora finalmente compila.

Purtroppo però non avvia: non trova adb.

Va beh, tutti i tools e ciarpame vario non sono nemmeno aggiornati, aggiorniamo tutto all’ultima versione esistente tramite il coso interno di Android Studio: seleziono cosa aggiornare, cioè tutto, avvio, scarica tutto, si adagia dolcemente su “Unzipping…” e non succede altro, ma fa finta di unzippare la roba. In realtà non sta facendo nulla. Probabilmente qualcosa è crashato ed è sparito l’errore. Va bene, allora non aggiorniamo, riavviamo Android Studio e vediamo se per caso ora va.

NON PARTE.

Esplode urlando che non c’è adb, non si trova adb, senza adb non si va da nessuna parte.

Ricordavo che, nei mesi precedenti, adb lo avviavo con “systemctl start adb”, ma il servizio sembra non esistere più.

La cosa allucinante è che, come sempre, il comando “adb” esiste e così posso avviare il server; ma, ovviamente, Android Studio non lo vede. Non si sa dove lo cerca, non si sa come faccia a non vederlo, non si sa come si faccia a fixare quest’assurdità.

Alcuni suggeriscono di aprire lo “standalone SDK manager”, ma purtroppo l’eseguibile non sembra esistere da nessuna parte nel computer e anche Android Studio mi guarda perplesso come se avessi chiesto qualcosa di spropositato.

Va bene, pialliamo tutto e ripartiamo da zero…

NON SCARICA L’SDK.

Installo Android Studio dall’AUR e la roba che c’è nei repo.

Avvio Android Studio.

Ora, poiché Google, sulla pagina di download di Android Studio e dell’SDK offre il “bundle” con entrambi solo per Windows, si suppone che siano in qualche modo indipendenti.

Si presume anche che non sia obbligatorio scaricare l’SDK da lì, visto che sta al fondo della pagina e c’è scritto, testualmente: “If you do not need Android Studio, you can download the basic Android command line tools below.”. Ora, io necessito di Android Studio, quindi l’SDK mi verrà offerto in qualche altra maniera, non potendo materialmente scaricare il bundle perché non ho Windows, no?

No. Installo Android Studio, lo avvio, e subito mi chiede di indicargli dove ho installato l’SDK se non voglio fare una brutta fine. C’è un link per scaricarlo: rimanda alla pagina linkata sopra. Provo ad annullare e mi dice “no, mi serve l’SDK. Vuoi riprovare?”.

Riprovare a fare cosa? A dare “cancel” alla finestra?

E va beh, scarichiamo l’SDK. Dall’AUR. “Compilo”, installo, gli indico la cartella, Android Studio finalmente parte e subito c’è uno stack overflow così, a caso.

Messaggio d'errore che indica uno stack overflow

Stack overflow su Android Studio appena avviato

Però tutto continua a funzionare, se è lecito dire che sta funzionando.

Insomma, voglio dire, qualsiasi persona dotata di buon senso farebbe molta fatica a dire che sta funzionando, ma facciamo finta di niente.

NON SCARICA I PLATFORM SDK.

Ora, finalmente, l’SDK manager più o meno fa qualcosa, all’incirca, a quanto sembra. Ovviamente quello di Android Studio, quello standalone risulta ancora inesistente.

Scarico i tool mancanti e due “Platform SDK”, giusto per avere un po’ di scelta.

I Platform SDK non si installano con l’errore di “c’è stato un errore”, ma suppongo che non gli piacciano i permessi di /opt/android-sdk, visto che alcune cose sono installate da pacman come “root” e altre da me tramite Android Studio come “comune mortale”. Dopo un rapido chown e dopo averli riscaricati, perché evidentemente se l’installazione fallisce il file zip va a male e non si può più utilizzare per nessuna ragione al mondo, finalmente ci siamo.

Qualcuno ha inoltre dereferenziato dei puntatori a null, che richiede una certa creatività (ma nemmeno poi tanta) in Java. Non si sa come mai il messaggio sia datato 18:38, visto che prima delle 18:50 non sembrava esistere.

Null pointer exception su Android Studio

Null pointer exception su Android Studio, così, a caso

Ovviamente la build ancora non va, perché manca la versione giusta dei “build tools” anche se c’è e non è in grado di dirmelo, escono fuori errori da tutte le parti, l’unica riga senza errori in tutto il progetto è, ironicamente, “buildToolsVersion ‘23.0.3’” in build.gradle.

Finalmente va

Dopo aver riavviato Android Studio, si è offerto di scaricare i build tools versione 23.0.3 e installarli sopra alla versione 23.0.3 [sic] che c’era già e ora, e solo ora, finalmente, dopo aver installato 20 GB di roba che era già installata, è in grado di compilare, trovare l’adb e scaraventarmi l’app sul telefono.

Il servizio adb di systemd invece non esiste proprio più, o sono io che non lo trovo più e non so bene da dove uscisse, a dire il vero.

Annunci

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...