2017-10-09 2 views
-1

Ich mache eine Menge Android-Builds mit einer stark angepassten Gabel im Büro, aber ich wollte zu Hause an den Anfang zurückkehren und es für mich selbst erforschen.AOSP Built: Was nun?

Ich bekam AOSP und baute es ... und dann gingen die Ideen aus. Der Emulator ist sogar vorgebaut. Ich dachte mir, dass zumindest der Emulator etwas von meinem Build sein würde, aber es scheint so, als ob der Repo-Arbeitsbereich nicht einmal dafür ausgelegt ist, den Emulator zu bauen. Ich kann den Emulator starten, aber benutzt er sogar den Build?

Wie kann ich sonst mit AOSP spielen? Gibt es sogar eine umfangreiche Unit-Test-Suite, die ich durchsuchen oder ausführen kann (eine schnelle Websuche macht das nicht klar)? Vielleicht ist der einzige Weg, AOSPs native Services/Backend sinnvoll zu erkunden, Apps zu schreiben?

Ich hatte gehofft, dass, ohne das Risiko, mein eigenes Telefon zu mauern, es etwas niedrigeres Niveau geben würde, mit dem ich spielen kann, wie das Ausführen von Amateur-Chirurgie auf Systemdiensten, nur um zu lernen, während man wahnsinnig lacht.

Ich baute es für aosp_x86_64-eng. Gibt es da Nachteile? Es ist nicht so, als müsste ich irgendeine Hardware flashen.

Danke.

Antwort

0

Was nun? Versuchen:

  1. jegliche und alle Trägerraketen aus dem System zu entfernen (der Launcher ist nur ein oder mehr Anwendungen, die für Trägerraketen zu Absichten reagieren und gibt den Benutzer etwas zu sehen und zu berühren, diese Streifen effektiv jede UI ... weil wir können). Sie können dies entweder von der Benutzeroberfläche aus (unter dem Emulator), mit ADB vom Host-System, mit "pm" von der Shell, oder besser, es aus dem Repo-Arbeitsbereich ausschneiden und neu erstellen.
  2. Schreiben Sie eine NDK-basierte App, die nach Abschluss des Systemstarts ausgeführt wird. Installieren Sie dies, indem Sie es in/quellen/apps in der Quellstruktur platzieren und neu erstellen. Testen Sie vorher, ob die Dinge wie erwartet funktionieren sollen, indem Sie das Sideloading vom vorhandenen Build durchführen.
  3. Interagieren Sie entweder vom Host-System oder von der Shell. An diesem Punkt ist Ihr Android nur ein kleines, voll funktionsfähiges Linux-System mit Gefängnissen um die Apps, IPC (Binder) und einer Reihe von Geräte-Unterstützung.

Als ob der Emulator die Bilder von Ihrem Build mit tatsächlich, tun PID ein lsof auf dem Root-Emulator:

~/development/android/master/out/host/linux-x86/bin$ lsof -p 12813 | grep development/android 
lsof: WARNING: can't stat() ext4 file system /var/lib/docker/aufs 
     Output information may be incomplete. 
qemu-syst 12813 doprea cwd DIR    8,17  4096 44303281 development/android/master/prebuilts/android-emulator/linux-x86_64 
qemu-syst 12813 doprea txt REG    8,17 15027168 44303462 development/android/master/prebuilts/android-emulator/linux-x86_64/qemu/linux-x86_64/qemu-system-x86_64 
qemu-syst 12813 doprea mem REG    8,17 6731464 44303355 development/android/master/prebuilts/android-emulator/linux-x86_64/lib64/gles_swiftshader/libGLES_CM.so 
qemu-syst 12813 doprea mem REG    8,17 7211320 44303356 development/android/master/prebuilts/android-emulator/linux-x86_64/lib64/gles_swiftshader/libGLESv2.so 
qemu-syst 12813 doprea mem REG    8,17  47552 44303354 development/android/master/prebuilts/android-emulator/linux-x86_64/lib64/gles_swiftshader/libEGL.so 
qemu-syst 12813 doprea mem REG    8,17  679560 44303361 development/android/master/prebuilts/android-emulator/linux-x86_64/lib64/lib64OpenglRender.so 
qemu-syst 12813 doprea mem REG    8,17  482400 44303443 development/android/master/prebuilts/android-emulator/linux-x86_64/lib64/qt/plugins/imageformats/libqwebp.so 
qemu-syst 12813 doprea mem REG    8,17  429808 44303441 development/android/master/prebuilts/android-emulator/linux-x86_64/lib64/qt/plugins/imageformats/libqtiff.so 
qemu-syst 12813 doprea mem REG    8,17  268448 44303438 development/android/master/prebuilts/android-emulator/linux-x86_64/lib64/qt/plugins/imageformats/libqjpeg.so 
qemu-syst 12813 doprea mem REG    8,17  20632 44303442 development/android/master/prebuilts/android-emulator/linux-x86_64/lib64/qt/plugins/imageformats/libqwbmp.so 
qemu-syst 12813 doprea mem REG    8,17  21656 44303440 development/android/master/prebuilts/android-emulator/linux-x86_64/lib64/qt/plugins/imageformats/libqtga.so 
qemu-syst 12813 doprea mem REG    8,17  24568 44303439 development/android/master/prebuilts/android-emulator/linux-x86_64/lib64/qt/plugins/imageformats/libqsvg.so 
qemu-syst 12813 doprea mem REG    8,17  28600 44303437 development/android/master/prebuilts/android-emulator/linux-x86_64/lib64/qt/plugins/imageformats/libqico.so 
qemu-syst 12813 doprea mem REG    8,17  38584 44303436 development/android/master/prebuilts/android-emulator/linux-x86_64/lib64/qt/plugins/imageformats/libqicns.so 
qemu-syst 12813 doprea mem REG    8,17  46736 44303434 development/android/master/prebuilts/android-emulator/linux-x86_64/lib64/qt/plugins/imageformats/libqdds.so 
qemu-syst 12813 doprea mem REG    8,17 3666001 44303464 development/android/master/prebuilts/android-emulator/linux-x86_64/resources/resources.rcc 
qemu-syst 12813 doprea mem REG    8,17 2037120 44303413 development/android/master/prebuilts/android-emulator/linux-x86_64/lib64/qt/lib/libQt5XcbQpa.so.5 
qemu-syst 12813 doprea mem REG    8,17 5786232 44303373 development/android/master/prebuilts/android-emulator/linux-x86_64/lib64/qt/lib/libQt5Core.so.5 
qemu-syst 12813 doprea mem REG    8,17 5811584 44303381 development/android/master/prebuilts/android-emulator/linux-x86_64/lib64/qt/lib/libQt5Gui.so.5 
qemu-syst 12813 doprea mem REG    8,17 6596968 44303409 development/android/master/prebuilts/android-emulator/linux-x86_64/lib64/qt/lib/libQt5Widgets.so.5 
qemu-syst 12813 doprea mem REG    8,17  523800 44303377 development/android/master/prebuilts/android-emulator/linux-x86_64/lib64/qt/lib/libQt5DBus.so.5 
qemu-syst 12813 doprea mem REG    8,17  345976 44303401 development/android/master/prebuilts/android-emulator/linux-x86_64/lib64/qt/lib/libQt5Svg.so.5 
qemu-syst 12813 doprea mem REG    8,17 4831936 44303364 development/android/master/prebuilts/android-emulator/linux-x86_64/lib64/libstdc++/libstdc++.so.6 
qemu-syst 12813 doprea mem REG    8,17  28440 44303435 development/android/master/prebuilts/android-emulator/linux-x86_64/lib64/qt/plugins/imageformats/libqgif.so 
qemu-syst 12813 doprea mem REG    8,17  116760 44303446 development/android/master/prebuilts/android-emulator/linux-x86_64/lib64/qt/plugins/platforminputcontexts/libibusplatforminputcontextplugin.so 
qemu-syst 12813 doprea mem REG    8,17  10424 44303451 development/android/master/prebuilts/android-emulator/linux-x86_64/lib64/qt/plugins/platforms/libqxcb.so 
qemu-syst 12813 doprea 27r REG    8,17 2686451712 43785802 development/android/master/out/target/product/generic_x86_64/system-qemu.img 
qemu-syst 12813 doprea 28u REG    8,17  524288 43785809 development/android/master/out/target/product/generic_x86_64/cache.img.qcow2 
qemu-syst 12813 doprea 29r REG    8,17 69206016 43784468 development/android/master/out/target/product/generic_x86_64/cache.img 
qemu-syst 12813 doprea 30u REG    8,17 136642560 43785810 development/android/master/out/target/product/generic_x86_64/userdata-qemu.img.qcow2 
qemu-syst 12813 doprea 31r REG    8,17 2147483648 43785805 development/android/master/out/target/product/generic_x86_64/userdata-qemu.img 
qemu-syst 12813 doprea 32u REG    8,17  393216 43785811 development/android/master/out/target/product/generic_x86_64/encryptionkey.img.qcow2 
qemu-syst 12813 doprea 33r REG    8,17 1048576 43784447 development/android/master/out/target/product/generic_x86_64/encryptionkey.img 
qemu-syst 12813 doprea 34r REG    8,17 102760448 43785799 development/android/master/out/target/product/generic_x86_64/vendor-qemu.img 

Also, ja. Obwohl der Emulator bereits vorgefertigt ist, wird er von der aktuellen Build-Umgebung gespeist, solange Ihre Build-Umgebung geladen ist.