2015-06-24 4 views
7

Jestem nowym graczem w rozwoju urządzeń z Androidem. W każdym razie, jestem teraz w trakcie budowania AOSP na chińskim urządzeniu z procesorem 64-bitowym. Podążam za menu na stronie source.android.com, a kiedy uruchamiam polecenie "lunch", terminal mówi: "Menu na lunch ... wybierz kombinację:".Jakie jest znaczenie combo na lunch w aosp i co muszę wybrać?

Są dwie opcje, o których debatuję: aosp_arm-eng i aosp_arm64_eng.

Jak już wspomniałem, buduję dla 64-bitowego procesora. Czy to oznacza, że ​​muszę wybrać aosp_arm64-eng? Bo ja próbowałem, ale potem emulator nie działa z jakiegoś powodu ..

będę szczęśliwy, aby otrzymać pomoc, Dzięki :)

Odpowiedz

3

Nazwy te są skonstruowane, na bieżąco, w systemie build . Odzwierciedlają one konkretne konstrukcje urządzeń w katalogu $AOSP/device (konkretnie, uruchamiając pliki vendorsetup.sh w podkatalogach).

Część nazwy przed łącznikiem ("-") jest sprzętem docelowym. Część po łączniku jest jedną z następujących: eng, userdebug i release. Te słowa kluczowe kontrolują narzędzia do debugowania dodane do kompilacji i czy adbd działa jako root czy nie.

Zarówno aosp_arm-eng, jak i aosp_arm64_eng powinny wytworzyć użyteczny emulator. Nie będzie jednak działać na twoim urządzeniu. Do Twojego urządzenia potrzebujesz konkretnej, dostosowanej kompilacji. Jeśli nie ma już dostępnej, tworzenie jej może być czasochłonne.

+0

Katalog $ AOSP/device jest wart powtarzania. Oprócz $ AOSP/vendor i $ AOSP/product, menu lunchowe jest zapełniane z dowolnych plików 'vendorsetup.sh' znalezionych w tych trzech katalogach. Dla czystego przyciągania mistrza, '$ AOSP/device' jest jedyną z tych trzech, która ma te pliki. – Les

0

(dwa lata później)

Ta odpowiedź służy jedynie aktualizacji poprzedniej odpowiedzi. Kombinacje menu "lunch" składają się z dwóch pól lub trzech. Pierwsze dwa są takie jak podano powyżej i powtórzył tutaj:

  1. Pierwsze pole (odcinek do pierwszego myślnika „-”) jest sprzęt docelowej (eksportowany jako TARGET_PRODUCT).
  2. Drugie pole (część następująca po pierwszym łączniku, do opcjonalnej drugiej hiper lub końca wiersza) jest jednym ze słów kluczowych: eng, userdebug, release (wyeksportowane jako TARGET_BUILD_VARIANT).
  3. Trzecie (opcjonalne) pole (część następująca po opcjonalnym drugim hypen) to wersja (jeśli istnieje, jest eksportowana jako TARGET_PLATFORM_VERSION).

Nie wszystkie możliwe kombinacje lunchu są wymienione. Najbardziej znanym jest sdk-eng i warianty. Ta konfiguruje system kompilacji, aby można było budować różne pakiety SDK, na przykład:

lunch sdk-eng 
    make -j8 win_sdk