web-dev-qa-db-ja.com

aospのランチコンボの意味は何ですか?何を選択する必要がありますか?

私はAndroidデバイスROM開発の新参者です。とにかく、64ビットプロセッサを搭載した中国のデバイスへのAOSPの構築を進めています。私はsource.Android.comのメニューをフォローしていて、「lunch」コマンドを実行すると、ターミナルに「Lunch menu ... pick acombo:」と表示されます。

私が議論している2つのオプションがあります:aosp_arm-engとaosp_arm64_eng。

私が述べたように、私は64ビットプロセッサデバイス用に構築しています。 aosp_arm64-engを選択する必要があるということですか?試したのですが、なんらかの理由でエミュレータが動作しませんでした。

私は助けを喜んで受けます、ありがとう:)

14
stack overflow

これらの名前は、ビルドシステムによってその場で作成されます。これらは、$AOSP/deviceディレクトリにある特定のデバイスビルドを反映します(具体的には、サブディレクトリでvendorsetup.shファイルを実行することによって)。

ハイフン( '-')の前の名前の部分がターゲットハードウェアです。ハイフンの後の部分は、enguserdebug、およびreleaseのいずれかです。これらのキーワードは、ビルドに追加されたデバッグツールと、adbdがrootとして実行されるかどうかを制御します。

aosp_arm-engaosp_arm64_engの両方が便利なエミュレーターを生成するはずです。ただし、どちらもお使いのデバイスでは機能しません。お使いのデバイスには、特定のカスタマイズされたビルドが必要になります。まだ利用できるものがない場合、作成にはかなりの時間がかかる可能性があります。

5
G. Blake Meike

(二年後)

この回答は、以前の回答をさらに更新するためのものです。 「ランチ」メニューの組み合わせは、2つのまたは3つフィールドで構成されています。最初の2つは上記のとおりであり、ここで繰り返されます。

  1. 最初のフィールド(最初のハイフン「-」までの部分)は、ターゲットハードウェア(TARGET_PRODUCTとしてエクスポートされます)です。
  2. 2番目のフィールド(最初のハイフンに続く部分、オプションの2番目のハイフンまで、または行末まで)は、キーワードenguserdebugrelease( TARGET_BUILD_VARIANTとしてエクスポートされます)。
  3. 3番目の(オプションの)フィールド(オプションの2番目のハイフンに続く部分)はバージョンです(存在する場合は、TARGET_PLATFORM_VERSIONとしてエクスポートされます)。

ただし、すべての可能なランチコンボがリストされているわけではありません。最も注目すべきものはsdk-engおよびバリアント。これは、たとえば次のように、さまざまなSDKをビルドできるようにビルドシステムをセットアップします。

    lunch sdk-eng
    make -j8 win_sdk
3
Les