2010-09-12 15 views
5

Volevo eseguire un'applicazione helloworld con AOSP e vederla in emulatore. [Non tramite l'installazione dell'SDK Android]Come compilare Helloworld con il codice sorgente Android

Ho seguito i passaggi in http://source.android.com/source/download.html e compilato correttamente il codice completo da/directory.

Ho potuto vedere contacts.apk, camera.apk tutte le applicazioni apk in ~/mydroid/out/target/product/generic/system/app.

Ho provato due cose.

1 - È andato alla cartella/pacchetto/app. Ho preso un'applicazione helloworld (cartella helloworld creata in android-sdk) e copiato un file "Android.mk" dalla cartella Launcher2, ho mantenuto il mio nuovo nome per l'applicazione e ho inserito la cartella nella cartella pacchetti/app e compilata in /. Non riesco a vedere il file .apk creato per ~/mydroid/out/target/product/generic/system/app.

2 - Ho cambiato il nome del pacchetto per Launcher2 nella cartella pacchetti/app nel file 'Android, mk' e compilato in root. Non riuscivo a vedere un nuovo apk creato con il nuovo nome pacchettizzato sotto ~/mydroid/out/target/product/generic/system/app.

Ho provato più volte con modifiche ai nomi di attività, nomi di applicazioni nel file manifest.xml. Niente riflette. Ma è certo che sia helloworld, sia il cambio di nome del pacchetto vengono raccolti durante la compilazione. Potrei vedere creare classi intermedie. ~/mydroid/out/target/common/obj/APPS/manifirst_intermediates/src/com/android/mani -> manifirst è come un helloworld che ho creato ed eseguito. ~/mydroid/out/target/common/obj/APPS/Launcher2_intermediates/src/com/android/launcher

Qualcuno potrebbe condividere i passaggi della compilazione di un semplice programma Helloworld in AOSP?

Grazie, Mani

risposta

6

Copia Android.mk da qualsiasi altro pacchetto e hanno solo cambiare il LOCAL_PACKAGE_NAME e fare che uno corrisponde al nome della cartella in pacchetti/apps.

Inoltre, aggiungere il pacchetto nell'elenco /build/target/product/core.mk

Dopo la compilazione si dovrebbe trovare l'apk in cui ci si aspetta che ... (out/target/prodotto/.. ./system/app)

+0

Grazie Matthieu, funziona. !! – Mani

+2

Contento che mi abbia aiutato, quindi puoi convalidare la risposta ... – Matthieu

+0

core.mk, mi mancava questo passaggio .. +1 – Farhan

Problemi correlati