まあ、ひどく当たり前の話なのだが、よかろう。
いま作っている、PaSoRiをandroid-x86で動かすパッケージは、フォルダ名でいうと
packages/apps/Nfc
以下に入っている。
このフォルダ名は、android標準環境のものだ。
私は、このNfcをがちゃがちゃと変更しただけ。
しかし、フォルダ名がNfcのままだと管理しにくいので、NfcServiceForPasori、と長々しい名前に変更することにした。
androidでビルドするとき、どのパッケージをビルドするのかは、設定による。
build/以下に標準的な設定があって、それをdevice/以下に自分の端末向けフォルダを作り、そこに設定を書いていく。
”lunch”などで選択するのは、その部分だ。
詳しくは、http://source.android.com/index.htmlに書いてあるかもしれないが、最新になってから見てないのでわからん。
android-x86の場合、私はこんな設定になっている。
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.0.3
TARGET_PRODUCT=generic_x86
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=x86
TARGET_ARCH_VARIANT=x86
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=IML74K
============================================
たぶん、repoでとってきたそのままだと思う。
ここの「TARGET_PRODUCT」が、だいたいdevice/以下にあるフォルダを探すときの目安になる。
今回は、device/common/generic_x86という場所にあった。
この中に、packages.mkというファイルがある。
(*.mkというファイルは、makeファイルの一環で、mやmmするときにさらってくれるようだ。)
ここの環境変数PRODUCT_PACKAGESが、ビルドするパッケージになる。
今まではここに「Nfc」と追記していたのだが、フォルダ名を変えたので「NfcServiceForPasori」に変更した。
そしたら、ビルドされなかった。。。
理由は簡単で、PRODUCT_PACKAGESは「パッケージ名」であって「フォルダ名」ではないのだ。
パッケージ名は、各Android.mkのLOCAL_PACKAGE_NAMEなどに入っているようだ。
これを変更していなかったので「NfcServiceForPasoriというパッケージはない」とみなされたのだ。
はい、そんだけです。。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。