frameworks/base/cmds/myproject
に新しいC++サブプロジェクトを追加しました。それには独自のAndroid.mk
ファイルがあります。 make myproject
を実行すると、問題なくコンパイルできます。AOSPの主要メイクにメイク規則を追加
make
にmake myproject
を追加します。つまり、誰かがAOSPのルートにあるmake
を実行すると、私のプロジェクトも同様に組み込むことになります。私は何をすべきか?
frameworks/base/cmds/myproject
に新しいC++サブプロジェクトを追加しました。それには独自のAndroid.mk
ファイルがあります。 make myproject
を実行すると、問題なくコンパイルできます。AOSPの主要メイクにメイク規則を追加
make
にmake myproject
を追加します。つまり、誰かがAOSPのルートにあるmake
を実行すると、私のプロジェクトも同様に組み込むことになります。私は何をすべきか?
あなたのAndroid.mk
ファイルを呼び出す必要があります。ニーズに応じて、さまざまな方法があります。
myproyect
をdevice/
のデバイスのいくつかに合わせてコンパイルする場合は、共通のmk
ファイルを探します。たとえば、これがクアルコムが行う方法です。あなたはAOSPのためにそれをコピーできます。
device/common/common.mk
device/common/common.mk
への呼び出しを行います。あなただけの特定のデバイスのためにそれをしたい場合は$(call inherit-product, device/qcom/common/common.mk)
:(これは、QCMはそれをしない方法です
device/generic/mini-emulator-x86
でmk
ファイルの持っている、あなたはmini_emulator_x86-userdebug
用にコンパイルしたい当然のは、見てみましょう。mini_emulator_x86.mk
編集したり、次のようにPRODUCT_PACKAGES
を追加します。
PRODUCT_PACKAGES += \
myproyect
正しい字下げに注意してください。
このようにしてsource build/envsetup.sh
とlunch mini_emulator_x86-user
を入力してからmake
を入力すると、myproyect.mk
になります。それをテストするために
:
myproject.mk
ファイル:$(warning MyProject MK has been called
lunch mini_emulator_x86-user
を。make | grep MyProject
あなたが最初の秒で何かを出力する場合は、コンパイル全体を待つ必要はありません、あなたは行こうとしています。は、追加の参照のためには、クアルコムがcommon
とbase
MKファイルと、そのdevice
フォルダを整理する方法を見てみて。彼らのオープンソースコードを見てくださいhere
ありがとう、私はそれを試してフィードバックにあなたに戻ってきます。 –
私のサブプロジェクトは特定のデバイス用ではありません。それはすべての人のために作られるべきです。だから、それは私が調べなければならない適切な場所である 'device/common /'のようです。そこに 'mk'ファイルはありません。 'generate-packages.sh'を変更する必要がありますか? –
私は自分の答えを編集しました。それが役に立てば幸い! – Olaia