2010-03-12 16 views
14

Sto provando a configurare l'SDK Android per sviluppare un semplice programma sulla riga di comando in Linux (Ubuntu 9.10). Ho provato eclipse, ma ha problemi con l'esecuzione su Ubuntu, quindi ho rinunciato. Ecco quello che ho fatto finora:Come configurare Android SDK per lo sviluppo della riga di comando su linux?

  1. scaricato android-sdk_r05-linux_86.tgz da http://developer.android.com/sdk/index.html
  2. tar xvzf android-sdk_r05-linux_86.tgz
  3. ln -s android-sdk-linux_86 Android
  4. in .tcshrc aggiunto PATH setenv .....:/home/utente/android/tools
  5. fonte .tcshrc
  6. corse 'Android'. Questo ha aperto una GUI. Sotto i pacchetti disponibili: ho installato tutto e ho lasciato il gui.
  7. corse 'target list Android' e ha elencato questi:

disponibili obiettivi Android:

id: 1 or "android-3" Name: Android 1.5 Type: Platform API level: 3 Revision: 1 Skins: HVGA-P, HVGA (default), QVGA-P, QVGA-L, HVGA-L

id: 2 or "Google Inc.:Google APIs:3" Name: Google APIs Type: Add-On Vendor: Google Inc. Revision: 3 Description: Android + Google APIs Based on Android 1.5 (API level 3) Libraries: * com.google.android.maps (maps.jar) API for Google Maps Skins: QVGA-P, HVGA-L, HVGA (default), QVGA-L, HVGA-P

id: 3 or "android-4" Name: Android 1.6 Type: Platform API level: 4 Revision: 1 Skins: HVGA (default), WVGA800, WVGA854, QVGA

id: 4 or "Google Inc.:Google APIs:4" Name: Google APIs Type: Add-On Vendor: Google Inc. Revision: 2 Description: Android + Google APIs Based on Android 1.6 (API level 4) Libraries: * com.google.android.maps (maps.jar) API for Google Maps Skins: WVGA854, HVGA (default), QVGA, WVGA800

id: 5 or "android-6" Name: Android 2.0.1 Type: Platform API level: 6 Revision: 1 Skins: WQVGA432, HVGA (default), WVGA800, WVGA854, WQVGA400, QVGA id: 6 or "Google Inc.:Google APIs:6" Name: Google APIs Type: Add-On Vendor: Google Inc. Revision: 1 Description: Android + Google APIs Based on Android 2.0.1 (API level 6) Libraries: * com.google.android.maps (maps.jar) API for Google Maps Skins: WQVGA400, WVGA854, HVGA (default), WQVGA432, QVGA, WVGA800

id: 7 or "android-7" Name: Android 2.1 Type: Platform API level: 7 Revision: 1 Skins: WQVGA432, HVGA (default), WVGA800, WVGA854, WQVGA400, QVGA

id: 8 or "Google Inc.:Google APIs:7" Name: Google APIs Type: Add-On Vendor: Google Inc. Revision: 1 Description: Android + Google APIs Based on Android 2.1 (API level 7) Libraries: * com.google.android.maps (maps.jar) API for Google Maps Skins: WQVGA400, WVGA854, HVGA (default), WQVGA432, QVGA, WVGA800

Voglio creare un semplice programma ciao mondo per il mio droide Motorola. Quale di questi obiettivi dovrei usare?

Come vedo le Skin?

Se eseguo "android" dalla riga di comando, si dice che non ci sono dispositivi virtuali. Un dispositivo virtuale è uguale a un target?

Come si ottiene una pelle droide e/o un bersaglio droide e/o un dispositivo virtuale droide?


Penso che ho bisogno di eseguire qualcosa di simile 'androide creano AVD --target 2 --name my_avd', ma non è sicuro. Esiste un elenco dettagliato di come farlo da qualche parte?

grazie, Bob

tardi:

ho capito che dovevo creare i target (= dispositivi virtuali) in questo modo:

android create avd -t 1 -n myavd1
.......
android create avd -t 8 -n myavd8

Questo mi ha dato 8 dispositivi virtuali nel gui quando ho eseguito 'android' dalla riga di comando.

Qualcuno sa quale livello/piattaforma API utilizzare per il Droid? E dove trovare la pelle giusta? C'è qualcosa di specifico dell'hardware, che devo conoscere per lo sviluppo di Droid?

Infine, esistono degli elenchi di passaggi per creare un'app hello world dalla riga di comando (linux) ed eseguirlo sull'emulatore e quindi eseguirlo su un telefono reale?

Bob

risposta

0

Ci scusiamo per non rispondere direttamente, ma quali sono i problemi con Eclipse su Ubuntu hai la tua domanda? Ho usato Ubuntu per anni, sono un utente pesante di Eclipse e non ho avuto problemi con questa configurazione.

Modifica: questo richiede un chiarimento e quindi avrebbe dovuto essere un commento, ma non avevo abbastanza rappresentante al momento di postare commenti così là.

+2

Come è una risposta? Inoltre, Eclipse ha problemi su qualsiasi piattaforma, non solo su Ubuntu – ognian

+0

Ognian, questa è una richiesta per ulteriori informazioni, come utente292344 ha scritto: "Ho provato eclipse, ma ha problemi di esecuzione su Ubuntu, quindi ho rinunciato a questo." che è troppo vago per aiutare (proprio come è la tua osservazione sul problema di Eclipse non specificato). Questo è fuori tema, quindi per favore attenetevi ai fatti che possono aiutare l'OP. – Gilead

+3

Sì .. Ubuntu ed Eclipse non hanno alcun problema per me ... ** + 1 per Ubuntu ed Eclipse ... ** Se potesse spiegare qual è il suo problema, allora potremmo risolverlo .. o cercare di risolverlo ... La mia configurazione .. Ubuntu 10.10, Eclipse Helios con gli ultimi aggiornamenti per tutti gli strumenti S/W e SDK ... È il mio ambiente di compilazione principale. –

0

Prova ad attaccare con eclissi, se hai problemi lì, sarà peggio cercare di fare cose sulla riga di comando. Gli strumenti integrati come log cat e il debugger sono di grande valore.

5

want to create a simple hello world program for my Motorola droid. Which of these targets should I use?

Droid E 'stato per stock un 2.0 (API 6), ma a partire dal 14 Marzo 2011 il suo 2.2.2 (FRG83G). Dovresti scegliere come target 2.0 perché non tutti i droidi sono 2.2.2.

How do I see the Skins?

How do I get a droid skin and/or a droid target and/or a droid virtual device?

È necessario installare Skin per Motorola Droid. Controllare il MOTODEV Sito qui ..

http://developer.motorola.com/docstools/tools/

If I run 'android' from the command line it says that that there are no virtual devices. Is a virtual device the same as a target?

Nessun obiettivo e dispositivi virtuali sono diversi. Devi creare un dispositivo virtuale da un obiettivo.

Does anyone know what api level/ platform to use for the Droid? And where to get the right skin? Is there anything hardware-specifications, that I need to know for Droid development?

Livello API: 6 o superiore deve fare perché non tutti i dispositivi sono aggiornati.

Specifiche: vedi qui http://developer.motorola.com/products/droid/

Finally, are there any lists of steps to create a hello world app from the command line (Linux) and run it on the emulator and then run it on a real phone?

Go per Eclipse + Ubuntu .. La sua più facile da pelli di impostazione Il mondo pure. I componenti aggiuntivi corrispondono meglio al dispositivo fisico. Altre opzioni potrebbero essere noiose per lo sviluppo (per un principiante come te). Fai dei dubbi qui o pubblica una domanda a parte. Avresti sicuramente un risentimento.

HTC ha recentemente creato una piccola guida per gli sviluppatori per aiutare negli strumenti da riga di comando. Si prega di dare un'occhiata qui http://htcdev.com/devcenter/opensense-sdk/quick-guide#building

È inoltre possibile utilizzare Eclipse + monolocale MOTODEV ...

http://developer.motorola.com/docstools/motodevstudio/

2

Una volta che hai i AVDS costruite, poi per quanto riguarda la costruzione dalla riga di comando va, questi due link che ho trovato il più utile:

http://developer.android.com/guide/developing/projects/projects-cmdline.html

http://developer.android.com/guide/developing/building/building-cmdline.html

Se si crea il progetto di esempio come descritto in "Creazione di un progetto Android", quindi rende la struttura della directory per voi e più utilmente il build.properties e il build.xml. Anche se non hai familiarità con Ant, costruirlo con Ant è davvero semplice e fa tutto per te con il build.xml creato automaticamente. La procedura è descritta in dettaglio nel secondo link. L'unico bit noioso è la firma delle app. Una cosa che il link non dice è che se si aggiungono due linee ai build.properties come:

key.store.password=YourPassword 
key.alias.password=YourOtherPassword 

quindi la firma è fatto automaticamente.

L'app di esempio è quasi un Hello World di per sé. Devi solo firmare l'app se vuoi trasferirla su un dispositivo reale.Per l'emulatore puoi semplicemente richiamare gli obiettivi Ant 'debug' e 'install' che costruiranno e spingeranno l'app all'emulatore

0

Sto eseguendo eclipse per Android Dev su ubuntu 10.10 e non ho alcun guai a tutti. Non rinunciare a Eclipse. Ti suggerisco di porre domande su ciò che hai problemi con eclissi.

Se il problema è che in eclissi stai ricevendo "?????????" come ID del dispositivo quando provi ad eseguirlo sul tuo telefono, devi solo eseguire sudo adb kill-server e sudo adb start-server nel tuo terminale mentre eclipse è aperto. Potrebbe anche essere necessario effettuare il login come root per aggiungere adb (dal proprio sdk di Android) alla variabile d'ambiente PATH.

6

Sebbene io di routine utilizzi un IDE (o un wrapper GUI) per lo sviluppo, trovo la CLI di Android particolarmente dispiaciuta.

Ho recentemente iniziato a convertire tutti i miei progetti Android in Maven manged. C'è un growing community circa usando questo metodo e può essere abbastanza piacevole.

L'idea è costruita attorno al maven-android-plugin che fa tutto il sollevamento pesante. Ci sono samples che mostrano vari casi d'uso (lingue non-Java, progetti multi-modulo, ecc.). Le noiose attività CLI come la riduzione delle dimensioni dell'APK con proguard, la firma dell'APK e l'APK con ziping hanno all .

C'è stato anche un formato personalizzato, .apklib, sviluppato per la distribuzione di Android library projects tramite repository Maven.

Quando si uniscono tutte queste funzionalità con il già avvantaggiato Maven disponibile (test automatizzato, supporto moduli, gestione delle dipendenze, rilascio automatizzato, generazione di siti Maven, ecc.) Si ottiene un flusso di lavoro molto snello.

Oh, e può anche control e deploy l'emulatore!

4

Utilizzare android list target per elencare i target disponibili. Questo conterrà le seguenti informazioni:
-ID destinatario: ogni destinazione avrà un ID diverso e dovrebbe essere utilizzato in tutti gli altri comandi.
-Skin: Ogni destinazione contiene l'elenco delle pelli supportati
-API Livello: livello di API per il particolare obiettivo

Creazione AVD:

android create avd --target 8 --name DROID_EMULATOR --sdcard 128M --skin WVGA854 

Creazione di un progetto HelloWorld:

android create project --name "HelloWorld" --target 8 --package com.test.helloworld --activity HelloWorld --path HelloWorld 

Questo creerà una directory HelloWorld nella directory corrente. Creerà anche un build.xml nella directory corrente.

È possibile utilizzare ant compile per compilare il progetto e ant install per compilare e installare il progetto. Questo installerà l'app sull'emulatore o sul dispositivo disponibili. Puoi usare ant per vedere i diversi obiettivi di costruzione disponibili.

HTH!

PS: sto utilizzando Android SDK Tools, versione 9 e Platform-tools, versione 3.

+0

Provato "android crea avd --target 8 --name DROID_EMULATOR --sdcard 128M --skin WVGA854" got "jenkins @ ip-172-31-22-20: ~/pp_files $ $ ANDROID_HOME/tools/android crea avd - -target 8 --name DROID_EMULATOR --sdcard 128M --skin WVGA854 ABI validi: no ABI Errore: questa piattaforma ha più di un ABI. Si prega di specificarne uno utilizzando --abi. jenkins @ ip-172-31- 22-20: ~/pp_files $ $ ANDROID_HOME/tools/android crea avd --target 8 --name DROID_EMULATOR --sdcard 128M --skin WVGA854 " –

Problemi correlati