Sviluppo di software Android: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Messbot (discussione | contributi)
m Android Developer Challenge: fix errore Lint - Tag di chiusura mancante using AWB
Recupero di 1 fonte/i e segnalazione di 0 link interrotto/i.) #IABot (v2.0.9.5
 
(12 versioni intermedie di 8 utenti non mostrate)
Riga 1:
[[File:Nexus 4.png|thumb|Il [[Nexus 4]] fa parte della serie [[Google Nexus]], una linea di dispositivi "developer-friendly".<ref>{{cita web|url=http://droidlessons.com/why-you-should-go-nexus-opinion-2/|titolo=Why You Should Go Nexus|lingua=en|data=|accesso=23 agosto 2016|urlarchivio=https://web.archive.org/web/20130515171020/http://droidlessons.com/why-you-should-go-nexus-opinion-2/|dataarchivio=15 maggio 2013|urlmorto=sì}}</ref>]]
 
Lo '''sviluppo di software Android''' è il processo mediante il quale vengono create nuove [[Applicazione mobile|applicazioni]] per il [[sistema operativo]] [[Android]]. Le app sono in genere sviluppate in [[linguaggio di programmazione|linguaggio]] [[Java (linguaggio di programmazione)|Java]] utilizzando il kit di sviluppo software Android ([[Software development kit|SDK]]), nonostante siano disponibili altri ambienti di sviluppo.
Riga 35:
}}
 
Il ''kit di sviluppo software Android'' ([[Software development kit|SDK]]) include una serie completa di strumenti di sviluppo.<ref>{{cita web|url=https://developer.android.com/studio/command-line/index.html|titolo=Tools Overview|lingua=en|data=21 luglio 2009|accesso=24 agosto 2016}}</ref> Tra questi sono presenti: un [[debugger]], [[Libreria (software)|librerie]], un [[emulatore]] portatile basato su [[QEMU]], documentazione, [[Codice (teoria dell'informazione)|codici]] esemplificativi e tutorial. Le piattaforme di sviluppo attualmente supportate sono i [[computer]] che eseguono [[Linux (kernel)|Linux]] (qualsiasi moderna [[distribuzione Linux]]), [[macOS]] 10.5.8 o versioni successive e [[Windows XP]] o successivo. A partire da marzo 2015, l'SDK non è disponibile su Android in sé, ma lo sviluppo del software rimane possibile utilizzando applicazioni Android specializzate.<ref>{{cita web|url=https://play.google.com/store/apps/details?id=com.aide.ui|titolo=AIDE- IDE for Android Java C++|lingua=en|data=|accesso=24 agosto 2016}}</ref><ref>{{cita web|url=https://play.google.com/store/apps/details?id=air.JavaEditor|titolo=Java Editor|lingua=en|data=|accesso=24 agosto 2016}}</ref><ref>{{cita web|url=https://play.google.com/store/apps/details?id=ch.tanapro.JavaIDEdroid|titolo=JavaIDEdroid|lingua=en|data=|accesso=24 agosto 2016}}</ref>
 
Fino alla fine del 2014 l'ambiente di sviluppo integrato ufficialmente supportato ([[IntegratedAmbiente developmentdi sviluppo environmentintegrato|IDE]]) è stato [[Eclipse (informatica)|Eclipse]] utilizzando gli [https://web.archive.org/web/20160826222404/https://www.appaustic.com/android-app-development#section4 Android Development] Tools (ADT) Plugin, anche se ad esempio gli [[Ambiente (programmazione)|ambienti]] [[IntelliJ IDEA]]<ref>{{cita web|url=http://www.jetbrains.com/idea/features/|titolo=Making development an enjoyable experience|lingua=en|data=|accesso=24 agosto 2016}}</ref> e [[NetBeans]]<ref>{{cita web|url=http://plugins.netbeans.org/plugin/19545/nbandroid|titolo=NBAndroid|lingua=en|data=|accesso=24 agosto 2016|dataarchivio=17 ottobre 2018|urlarchivio=https://web.archive.org/web/20181017052437/http://plugins.netbeans.org/plugin/19545/nbandroid|urlmorto=sì}}</ref> supportano pienamente lo sviluppo di Android. A partire dal 2015 [[Android Studio]]<ref>{{cita web|url=https://developer.android.com/studio/index.html|titolo=Android Studio|lingua=en|data=|accesso=24 agosto 2016}}</ref>, realizzato da [[Google (azienda)|Google]] e alimentato da IntelliJ, è l'IDE ufficiale di Android. Gli sviluppatori, inoltre, possono utilizzare qualsiasi [[editor di testo]] per modificare i file [[Java (linguaggio di programmazione)|Java]] o [[XML]] e successivamente utilizzare un [[Interfaccia a riga di comando|comando]] ([[Java Development Kit]] e [[Apache Ant]] sono indispensabili) per creare, implementare ed eseguire le applicazioni avendone il controllo sui dispositivi Android collegati (ad esempio innescando il riavvio del dispositivo, installando un pacchetto software da remoto, ecc).<ref>{{cita web|url=http://jonwestfall.com/2009/08/backup-restore-android-apps-using-adb/|titolo=Backup & restore Android apps using ADB|lingua=en|data=25 agosto 2009|accesso=24 agosto 2016}}</ref>
 
I miglioramenti apportati all'SDK vanno di pari passo con lo sviluppo globale della piattaforma Android. L'SDK supporta anche le versioni precedenti di Android nel caso in cui gli sviluppatori desiderassero eseguire le loro applicazioni su dispositivi più vecchi. Gli strumenti di sviluppo sono componenti scaricabili, pertanto dopo aver scaricato l'ultima versione dell'ambiente e della piattaforma, quelle meno recenti possono essere scaricate facilmente per eseguire dei test di compatibilità.<ref>{{cita web|url=https://developer.android.com/studio/releases/sdk-tools.html|titolo=SDK Tools Release Notes|lingua=en|data=|accesso=24 agosto 2016}}</ref>
Riga 44:
 
==== Android Debug Bridge (ADB) ====
L'''Android Debug Bridge'' (ADB) è un [[toolkit]] incluso nel pacchetto SDK di Android. Si compone di due parti: lato [[lato client]] e lato [[lato server]] che comunicano tra loro. L'ADB è generalmente accessibile attraverso l'interfaccia a linea di comando<ref>{{cita web|url=https://developer.android.com/studio/command-line/index.html|titolo=Command Line Tools|lingua=en|data=|}}</ref>, anche se esistono numerose [[Interfaccia grafica|interfacce grafiche utente]] per controllare l'ADB.
 
Il formato per l'emissione dei comandi attraverso l'ADB è solitamente:
Riga 54:
 
==== Fastboot ====
''Fastboot reindirizza qui. Se stai cercando{{nota disambigua|la capacità di avvio rapido di un PC, vedi [[|Instant on]].''|Fastboot}}
 
Fastboot è un [[Protocollo di comunicazione|protocollo]] diagnostico incluso nel pacchetto SDK utilizzato principalmente per modificare il [[file system]] [[Memoria flash|flash]] di un dispositivo tramite una connessione [[USB]] collegata ad un [[host]]. È necessario che il dispositivo venga avviato in modalità [[boot loader]] o in modalità di avvio secondario, in cui viene eseguita solo l'inizializzazione dei [[driver]] indispensabili. Dopo aver abilitato il protocollo sul dispositivo, questo accetterà uno specifico insieme di comandi inviati via USB tramite una riga di comando. Alcuni dei comandi Fastboot più comunemente usati sono:
* flash - riscrive una [[Partizione (informatica)|partizione]] usando un'[[Immagine disco|immagine]] memorizzata nell'host
Line 66 ⟶ 65:
Le [[Libreria (software)|librerie]] scritte in [[C (linguaggio)|C]] e [[C++]] possono essere compilate su supporti [[Architettura ARM|ARM]], [[Architettura MIPS|MIPS]] o [[Architettura x86|x86]] ed implementate utilizzando l'Android Native Development Kit (NDK). Le [[Classe (informatica)|classi]] possono essere chiamate tramite comandi Java (che può essere implementato sulla [[Dalvik virtual machine|Dalvik VM]]) usando il comando <code>System.loadLibrary</code>, il quale rappresenta una parte delle classi standard di Android Java.<ref>{{cita web|url=https://davanum.wordpress.com/2007/12/09/android-invoke-jni-based-methods-bridging-cc-and-java/|titolo=Android – Invoke JNI Based Methods (Bridging C/C++ And Java)|lingua=en|data=9 dicembre 2007|accesso=24 agosto 2016}}</ref><ref>{{cita web|url=https://developer.android.com/reference/java/lang/System.html|titolo=java.lang.System|lingua=en|data=|accesso=24 agosto 2016}}</ref>
 
Applicazioni complete possono essere create, compilate ed installate utilizzando gli strumenti di sviluppo tradizionali.<ref>{{cita web|url=http://benno.id.au/blog/2007/11/13/android-native-apps|titolo=Native C applications for Android|lingua=en|data=13 novembre 2007|accesso=24 agosto 2016|dataarchivio=13 settembre 2009|urlarchivio=https://web.archive.org/web/20090913233211/http://benno.id.au/blog/2007/11/13/android-native-apps|urlmorto=sì}}</ref> Tuttavia, in base alla documentazione Android, NDK non dovrebbe essere utilizzato esclusivamente per lo sviluppo solo perché lo sviluppatore preferisce programmare in C o C ++, infatti l'uso di NDK aumenta la complessità della programmazione e la maggior parte delle applicazioni non trarrebbero beneficio dal suo assiduo utilizzo.<ref>{{cita web|url=https://developer.android.com/ndk/index.html|titolo=Android NDK|lingua=en|data=|accesso=24 agosto 2016}}</ref>
 
Il debugger ADB fornisce una [[Shell (informatica)|shell]] root tramite l'emulatore Android che permette al codice scritto sui supporti ARM, MIPS o x86 di essere caricato ed eseguito. Il codice può essere compilato con [[GNU Compiler Collection|GCC]] o con il compilatore Intel C++ su un PC standard.<ref>{{cita web|url=https://software.intel.com/en-us/c-compilers/inde|titolo=Intel C++ Compiler 14.0 for Android|lingua=en|data=|accesso=24 agosto 2016}}</ref> L'esecuzione di codice nativo è complicato dal fatto che Android fa uso di una libreria C non standard (libc, nota come Bionic). La libreria grafica che Android utilizza per controllare l'accesso a questo dispositivo si chiama Skia Graphics Library (SGL) ed è stata rilasciata sotto una [[licenza open source]].<ref>{{cita web|url=https://src.chromium.org/viewvc/chrome/trunk/src/skia/|titolo=Skia source|lingua=en|data=|accesso=24 agosto 2016}}</ref> Skia dispone di ''[[front-end e back-end]]'' sia per [[Windows API|Win32]] sia per [[Unix]], consentendo lo sviluppo di applicazioni multipiattaforma, ed è il [[motore grafico]] alla base del [[browser]] [[web]] [[Google Chrome]].<ref>{{cita web|url=http://www.atoker.com/blog/2008/09/06/skia-graphics-library-in-chrome-first-impressions/|titolo=Skia graphics library in Chrome: first impressions|lingua=en|data=6 settembre 2008|accesso=24 agosto 2016}}</ref>
 
A differenza dello sviluppo in Java, basato su un IDE come Eclipse, l'NDK si basa su strumenti da riga di comando e necessita che questi vengano richiamati manualmente per costruire, implementare ed eseguire le applicazioni. Alcuni strumenti consentono di integrare l'NDK in Eclipse<ref>{{cita web|url=https://mhandroid.wordpress.com/2011/01/23/using-eclipse-for-android-cc-development/|titolo=Using Eclipse for Android C/C++ Development|lingua=en|data=23 gennaio 2011|accesso=24 agosto 2016}}</ref> e in Visual Studio.<ref>{{cita web|url=http://visualgdb.com/tutorials/android/|titolo=Using Visual Studio to Develop Native Android Code|lingua=en|data=30 aprile 2015|accesso=24 agosto 2016}}</ref>
Line 80 ⟶ 79:
== Strumenti di sviluppo non ufficiali ==
=== App Inventor ===
''Per l'articolo principale, {{vedi [[anche|App Inventor]].''}}
Il 12 luglio 2010 Google ha annunciato la disponibilità di App Inventor, un ambiente di sviluppo online per i programmatori alle prime armi, basato sulla Libreria a Blocchi di Java del [[Massachusetts Institute of Technology|MIT]] e che fornisce l'accesso al [[Sistema di posizionamento globale|GPS]] del dispositivo, ai dati dell'[[accelerometro]], alle funzioni del telefono, ai messaggi di testo, ai contatti, alla memoria e ai servizi Web, inizialmente compresi [[Amazon]] e [[Twitter]]. "Abbiamo potuto fare tutto questo perché l'architettura di Android è molto aperta", ha detto il direttore del progetto del MIT Hal Abelson.<ref>{{cita web|url=https://www.nytimes.com/2010/07/12/technology/12google.html?src=busln&_r=0|titolo=Google’s Do-It-Yourself App Creation Software|lingua=en|data=12 luglio 2010|accesso=24 agosto 2016}}</ref> In fase di sviluppo per oltre un anno<ref>{{cita web|url=https://research.googleblog.com/2009/07/app-inventor-for-android.html|titolo=App Inventor for Android|lingua=en|data=31 luglio 2009|accesso=24 agosto 2016}}</ref>, lo strumento di editing a blocchi è stato insegnato al corso di informatica ad [[Harvard]], al [[Massachusetts Institute of Technology|MIT]], a Wellesley, al Trinity college (Hartford) e all'[[Università di San Francisco]], dove il professor David Wolber sviluppò un corso introduttivo di informatica e un libro-tutorial basati su App Inventor destinati agli studenti non frequentanti i corsi di informatica.<ref>{{cita web|url=http://www.sfgate.com/business/article/Google-brings-app-making-to-the-masses-3207656.php|titolo=Google brings app-making to the masses|lingua=en|data=11 dicembre 2009|accesso=24 agosto 2016}}</ref><ref>{{cita web|url=http://www.appinventor.org/|titolo=Learn to build Android apps in hours|lingua=en|data=|accesso=24 agosto 2016}}</ref>
 
Il 12 luglio 2010 Google ha annunciato la disponibilità di App Inventor, un ambiente di sviluppo online per i programmatori alle prime armi, basato sulla Libreria a Blocchi di Java del [[Massachusetts Institute of Technology|MIT]] e che fornisce l'accesso al [[Sistema di posizionamento globale|GPS]] del dispositivo, ai dati dell'[[accelerometro]], alle funzioni del telefono, ai messaggi di testo, ai contatti, alla memoria e ai servizi Web, inizialmente compresi [[Amazon]] e [[Twitter]]. "Abbiamo potuto fare tutto questo perché l'architettura di Android è molto aperta", ha detto il direttore del progetto del MIT Hal Abelson.<ref>{{cita web|url=https://www.nytimes.com/2010/07/12/technology/12google.html?src=busln&_r=0|titolo=Google’s Do-It-Yourself App Creation Software|lingua=en|data=12 luglio 2010|accesso=24 agosto 2016}}</ref> In fase di sviluppo per oltre un anno<ref>{{cita web|url=https://research.googleblog.com/2009/07/app-inventor-for-android.html|titolo=App Inventor for Android|lingua=en|data=31 luglio 2009|accesso=24 agosto 2016}}</ref>, lo strumento di editing a blocchi è stato insegnato al corso di informatica ad [[Harvard]], al [[Massachusetts Institute of Technology|MIT]], a Wellesley, al Trinity college (Hartford) e all'[[Università di San Francisco]], dove il professor David Wolber sviluppò un corso introduttivo di informatica e un libro-tutorial basati su App Inventor destinati agli studenti non frequentanti i corsi di informatica.<ref>{{cita web|url=http://www.sfgate.com/business/article/Google-brings-app-making-to-the-masses-3207656.php|titolo=Google brings app-making to the masses|lingua=en|data=11 dicembre 2009|accesso=24 agosto 2016}}</ref><ref>{{cita web|url=http://www.appinventor.org/|titolo=Learn to build Android apps in hours|lingua=en|data=|accesso=24 agosto 2016}}</ref>
 
Nella seconda metà del 2011 Google ha rilasciato il codice sorgente, terminato il suo servizio Web e ha fornito finanziamenti per la creazione del MIT Center for Mobile Learning, guidato dal creatore dell'App Inventor Hal Abelson e dai suoi colleghi del MIT Eric Klopfer e Mitchel Resnick.<ref>{{cita web|url=https://news.mit.edu/2010/android-abelson-0819|titolo=The MIT roots of Google’s new software|lingua=en|data=19 agosto 2010|accesso=24 agosto 2016}}</ref> L'ultima versione distribuita come il risultato della collaborazione fra Google e il MIT è stata rilasciata nel febbraio 2012, mentre la prima versione creata esclusivamente dal MIT è stata lanciata nel marzo 2012<ref>{{cita web|url=https://news.mit.edu/2013/app-inventor-launches-second-iteration|titolo=App Inventor launches second iteration|lingua=en|data=30 dicembre 2013|accesso=24 agosto 2016}}</ref> ed è stata aggiornata ad App Inventor 2 nel dicembre 2013.<ref>{{cita web|url=http://appinventor.mit.edu/explore/classic.html|titolo=App Inventor Classic|lingua=en|data=|accesso=24 agosto 2016}}</ref> Come dal 2014, App Inventor è ora gestito interamente dal MIT.<ref>{{cita web|url=http://beaverfallsturners.net/spy-bbm-iphone-e3/|titolo=Spy bbm iPhone|lingua=en|data=|accesso=24 agosto 2016|urlarchivio=https://web.archive.org/web/20160820221252/http://beaverfallsturners.net/spy-bbm-iphone-e3/|dataarchivio=20 agosto 2016|urlmorto=sì}}</ref>
Line 93 ⟶ 91:
 
=== Delphi ===
[[Embarcadero Delphi|Delphi]] può essere utilizzato per creare applicazioni utilizzando il linguaggio [[Object Pascal]]. L'ultima versione è Delphi 10 Seattle, sviluppato da Embarcadero.<ref>{{cita web|url=https://www.embarcadero.com/products/delphi|titolo=Delphi Xe7|lingua=en|data=|accesso=24 agosto 2016}}</ref> Le interfacce utente sono sviluppate utilizzando il [[framework]] GUI FireMonkey. Inoltre è disponibile un numero crescente di componenti non visivi per l'interazione con i vari sensori (e.g. fotocamera, [[giroscopio]], GPS, [[Bluetooth]], ecc). Altri servizi, ad esempio l'accesso a determinati eventi di tastiera, sono resi disponibili in maniera indipendente dalla piattaforma. Il compilatore è basata sull'architettura [[LLVM]] ed è possibile il debug tramite l'IDE. Le applicazioni generate sono basate sull'NDK ma, a differenza di Xamarin, il [[runtime]] viene compilato all'interno dell'applicazione stessa.
 
=== HyperNext Android Creator ===
HyperNext Android Creator (HAC) è un [[sistema di sviluppo]] software rivolto a programmatori principianti che può aiutarli a creare le proprie applicazioni Android senza conoscere Java e l'SDK di Android. Si basa su [[HyperCard]], che considera il software come una pila di carte con una sola carta visibile alla volta, risultando quindi adatto per applicazioni di telefonia mobile che presentano solo una finestra visibile alla volta. Il linguaggio di programmazione principale di HAC è chiamato HyperNext ed è vagamente basato sul linguaggio [[HyperTalk]] di Hypercard. Esso supporta un numero crescente di sottoinsiemi dell'SDK Android, comprese le sue versioni dei tipi di controllo GUI, e viene eseguito automaticamente in background.
 
=== Kivy ===
Line 131 ⟶ 129:
 
== Firmware della comunità ==
Esiste una comunità di appassionati che costruiscono e condividono [[firmware]] open-source basati su Android che presentano una serie di personalizzazioni e funzioni aggiuntive, ad esempio il supporto audio [[Free Lossless Audio Codec|FLAC]] e la possibilità di memorizzare le applicazioni scaricate sulla scheda [[MicroSD]].<ref>{{cita web|url=https://forum.xda-developers.com/htc-dream-g1/development|titolo=Dream android development|lingua=en|data=|accesso=25 agosto 2016}}</ref> Solitamente questa procedura richiede lo sblocco del [[boot loader]] e il [[rooting]] del dispositivo che consente l'accesso degli utenti al sistema operativo ed averne quindi il pieno controllo. Nonostante presenti alcuni svantaggi, il rooting permette di installare firmware personalizzati (ad esempio [[CyanogenMod]] e OMFGB), i quali permettono ai proprietari di dispositivi più datati di utilizzare le app disponibili solo sulle versioni più recenti.<ref>{{cita web|url=http://www.redmondpie.com/android-2.1-from-motorola-droid-ported-to-g1-9140291/|titolo=Android 2.1 from Motorola Droid Ported to G1|lingua=en|data=30 dicembre 2009|accesso=25 agosto 2016}}</ref>
 
Il 24 settembre 2009 Google ha pubblicato una lettera di [[diffida]]<ref>{{cita web|url=http://androidandme.com/2009/09/news/cyanogenmod-in-trouble/|titolo=CyanogenMod in trouble?|lingua=en|data=24 settembre 2009|accesso=25 agosto 2016}}</ref> nei confronti dei [[Modding|modder]] di Cyanogen, citando problemi con la ri-distribuzione delle applicazioni [[Software proprietario|closed source]] di Google<ref>{{cita web|url=https://android-developers.blogspot.it/2009/09/note-on-google-apps-for-android.html|titolo=A Note on Google Apps for Android|lingua=en|data=25 settembre 2009|accesso=25 agosto 2016}}</ref> all'interno dei firmware personalizzati. Nonostante la maggior parte del sistema operativo Android sia open source, i telefoni vengono confezionati in modalità closed source per favorire l'operabilità di applicazioni come Google Play e la navigazione GPS. Google ha affermato che queste applicazioni possono essere fornite solo attraverso i canali di distribuzione approvati ed ufficiali. Cyanogen ha rispettato la volontà di Google e sta continuando a distribuire i suoi mod senza l'uso del software proprietario.
Line 141 ⟶ 139:
[[File:HTC HT722G700375 20080211.jpg|thumb|Il prototipo ''Sooner''<ref>{{cita web|url=http://www.androidcentral.com/google-sooner-prototype-appears-shows-one-googles-first-prototype-builds-android|titolo=Google Sooner prototype appears, shows off one Google's first prototype builds of Android|lingua=en|data=6 maggio 2012|accesso=25 agosto 2016}}</ref>, predecessore del Dev Phone.]]
 
Android è stato creato dalla [[Open Handset Alliance]], guidata da Google. Il genere di feedback ricevuto nella fase iniziale dello sviluppo di app è stato vario.<ref>{{cita web|url=https://arstechnica.com/information-technology/2007/12/google-android-plagued-by-dysfunctional-development-process/|titolo=Developing apps for Google Android: it’s a mixed bag|lingua=en|data=19 dicembre 2007|accesso=25 agosto 2016}}</ref> I problemi citati includono bug, mancanza di documentazione, infrastrutture QA iadeguateinadeguate e nessun sistema di gestione pubblico dei problemi. (Google ha annunciato un rilevatore di bug il 18 gennaio 2008.)<ref>{{cita web|url=https://android-developers.blogspot.it/2008/01/you-cant-rush-perfection-but-now-you.html|titolo=You can't rush perfection, but now you can file bugs against it|lingua=en|data=18 gennaio 2008|accesso=25 agosto 2016}}</ref> Nel dicembre 2007 Adam MacBeth, fondatore della startup MergeLab, dichiarò in merito alla piattaforma che "Le funzionalità non sono presenti, è scarsamente documentata o semplicemente non funziona...Non è chiaramente pronta per il grande pubblico".<ref>{{cita web|url=https://www.wsj.com/articles/SB119800856883537515|titolo=Glitches Bug Google's Android Software|lingua=en|data=19 dicembre 2007|accesso=25 agosto 2016}}</ref> Tuttavia le applicazioni Android cominciarono ad apparire e la piattaforma venne annunciata una settimana più tardi. La prima app disponibile al pubblico fu il videogioco [[Snake]].<ref>{{cita web|url=http://www.freewarelovers.com/android/app/snake|titolo=Snake|lingua=en|data=|accesso=25 agosto 2016}}</ref> L'Android Dev Phone è un dispositivo dotato di SIM e hardware sbloccati che è stato progettato per l'uso da parte degli sviluppatori più esperti. Mentre la maggior parte degli sviluppatori possono utilizzare i comuni dispositivi per testare ed utilizzare le loro applicazioni, alcuni sviluppatori possono scegliere di non utilizzare un dispositivo comunemente in vendita, preferendone uno sbloccato o privo di contratto.
 
Una versione di anteprima dell'SDK è stata rilasciata il 12 novembre 2007. Il 15 luglio 2008, il team responsabile dell'Android Developer Challenge inviò accidentalmente una e-mail a tutti i partecipanti annunciando che una nuova versione del SDK sarebbe stata disponibile in un'area download "privata". L'e-mail, infatti, era destinata esclusivamente ai vincitori del primo turno dell'Android Developer Challenge. La rivelazione che Google stava fornendo nuove versioni SDK solo per alcuni sviluppatori (mantenendo questo accordo privato) comportò numerose critiche nei confronti della società statunitense da parte della comunità.<ref>{{cita web|url=https://www.theregister.co.uk/2008/07/14/android_developer_unrest/|titolo=Google plays Hide and Seek with Android SDK|lingua=en|data=14 luglio 2008|accesso=25 agosto 2016}}</ref>
Line 154 ⟶ 152:
== Bibliografia ==
*{{cita libro | nome=Burnette | cognome=Ed | titolo=Hello, Android: Introducing Google's Mobile Development Platform | anno=2010 | editore=Pragmatic Bookshelf | edizione=3 | ISBN=978-1-934356-56-2 }}
*{{cita libro | nome1=Frank | cognome1=Ableson | nome2=Robi | cognome2=Sen | nome3=Chris | cognome3=King | titolo=Android in Action, Second Edition | url=https://archive.org/details/androidinaction0002able | anno=2011 | editore=Manning | edizione=2 | ISBN=978-1-935182-72-6 }}
*{{cita libro | nome1=Shane | cognome1=Conder | nome2=Lauren | cognome2=Darcey | titolo=Android Wireless Application Development Volume II: Advanced Topics | url=https://archive.org/details/androidwirelessa0000cond_n2t1 | anno=2012 | editore=Addison-Wesley Professional | edizione=3 | ISBN=0-321-81384-7 }}
*{{cita libro | nome=Mark | cognome=Murphy | titolo=Beginning Android | anno=2009 | editore=Apress | edizione=1 | ISBN=1-4302-2419-3 }}
*{{cita libro | nome=Reto | cognome=Meier | titolo=Professional Android 2 Application Development | url=https://archive.org/details/professionalandr00meie_0 | anno=2010 | editore=Wrox Press | edizione=1 | ISBN=978-0-470-56552-0 }}
*{{cita libro | nome=Chris | cognome=Haseman | titolo=Android Essentials | anno=2008 | editore=Apress | edizione=1 | ISBN=1-4302-1064-8 }}
*{{cita libro | nome=Ian | cognome=Clifton | titolo=The Essentials of Android Application Development LiveLessons (Video Training) | anno=2012 | editore=Addison-Wesley Professional | edizione=1 | ISBN=0-13-299658-8 }}
Line 165 ⟶ 163:
* [[Rooting]]
* [[Android]]
 
== Altri progetti ==
{{interprogetto}}
 
== Collegamenti esterni ==