2010-09-12 7 views
5

Ich wollte eine Helloworld-Anwendung mit dem AOSP ausführen und es im Emulator sehen. [Nicht über Android SDK-Setup]Wie kompiliert Helloworld mit Android-Quellcode

Ich folgte den Schritten in http://source.android.com/source/download.html und kompilierte erfolgreich den vollständigen Code aus/Verzeichnis.

Ich konnte contacts.apk, camera.apk alle Anwendungen apk in sehen ~/mydroid/out/Ziel/Produkt/generisch/System/App.

Ich habe zwei Dinge ausprobiert.

1 - Ging nach/Paket/Apps-Ordner. Nahm eine Helloworld-Anwendung (Helloworld-Ordner, der in Android-SDK erstellt wurde), und kopierte eine "Android.mk" -Datei aus dem Launcher2-Ordner, behielt meinen neuen Namen für die Anwendung und legte den Ordner in Pakete/App-Ordner und kompiliert unter /. Ich konnte keine .apk-Datei für ~/mydroid/out/target/product/generic/system/app erstellt sehen.

2 - Ich habe den Paketnamen für Launcher2 im Paket/App-Ordner in "Android, mk" -Datei geändert und im Stammverzeichnis kompiliert. Ich konnte keine neue apk sehen, die auf dem neuen verpackten Namen unter ~/mydroid/out/target/product/generic/system/app erstellt wurde.

Ich versuchte mehrmals mit Änderungen in den Aktivitätsnamen, Anwendungsnamen in der Datei manifest.xml. Nichts reflektiert. Aber es ist sicher, sowohl Helloworld, als auch die Änderung des Paketnamens werden während des Kompilierens aufgenommen. Ich konnte sehen, dass Zwischenklassen erstellt wurden. ~/mydroid/out/target/allgemein/obj/APPS/manifirst_intermediates/src/com/android/mani -> manifest ist wie eine hellorld, die ich erstellt und ausgeführt habe. ~/mydroid/out/Ziel/common/obj/APPS/Launcher2_intermediates/src/com/android/Launcher

Könnte jemand bitte die Schritte der Erstellung eines einfachen Programms in Helloworld AOSP teilen.?

Danke, Mani

Antwort

6

Kopieren Android.mk von jedem anderen Paket und muß nur die LOCAL_PACKAGE_NAME ändern und dass man die Ordnernamen in Paketen/apps machen lassen.

Fügen Sie außerdem Ihr Paket in der Liste in /build/target/product/core.mk

Nach dem Kompilieren sollten Sie die apk finden, wo man es erwarten ... (out/target/Produkt/.. ./system/app)

+0

Danke Matthieu, es funktioniert. !! – Mani

+2

Froh, dass es geholfen hat, dann können Sie die Antwort validieren ... – Matthieu

+0

core.mk, mir fehlte dieser Schritt .. +1 – Farhan