(承前)
5.上書きをしたF05D_F0001_V12で初make
すんなり動くはずも無い。こんなエラーが出る。
build/core/base_rules.mk:78: *** Module name: libdolbymobileeffect
build/core/base_rules.mk:79: *** Makefile location: frameworks/base/media/libeffects/DolbyMobile
build/core/base_rules.mk:80: *
build/core/base_rules.mk:81: * Each module must use a LOCAL_MODULE_TAGS in its
build/core/base_rules.mk:82: * Android.mk. Possible tags declared by a module:
build/core/base_rules.mk:83: *
build/core/base_rules.mk:84: * optional, debug, eng, tests, samples
build/core/base_rules.mk:85: *
build/core/base_rules.mk:86: * If the module is expected to be in all builds
build/core/base_rules.mk:87: * of a product, then it should use the
build/core/base_rules.mk:88: * "optional" tag:
build/core/base_rules.mk:89: *
build/core/base_rules.mk:90: * Add "LOCAL_MODULE_TAGS := optional" in the
build/core/base_rules.mk:91: * Android.mk for the affected module, and add
build/core/base_rules.mk:92: * the LOCAL_MODULE value for that component
build/core/base_rules.mk:93: * into the PRODUCT_PACKAGES section of product
build/core/base_rules.mk:94: * makefile(s) where it's necessary, if
build/core/base_rules.mk:95: * appropriate.
LOCAL_MODULE_TAGSという指定が必須となったようだ。frameworks/base/media/libeffects/DolbyMobileの中のAndroid.mkを覗いてみるとLOCAL_MODULE_TAGSの指定は無い。よくわからないが
LOCAL_MODULE_TAGS:= eng optional
といれてみる。同じエラーがでた。どうやら、LOCAL_MODULE_TAGSを挿入する場所に制約があるようだ。include $(CLEAR_VARS)の後ろに入れたら、buildが進んだ。
6. ACONFIGURATION_NAVIGATION_MOUSEが未定義
すんなりbuildが終わるはずも無く、次のエラーがでた。シンボルACONFIGURATION_NAVIGATION_MOUSEが未定義となった。frameworks/base/include/utils/ResourceTypes.hの874あたりを見てみる。
NAVIGATION_WHEEL = ACONFIGURATION_NAVIGATION_WHEEL,
/* FUJITSU:2011-09-22 start */
NAVIGATION_MOUSE = ACONFIGURATION_NAVIGATION_MOUSE,
/* FUJITSU:2011-09-22 end */
となっている。NAVIGATIONのMOUSEは未定義で、WHEELは良いのか!
NAVIGATION_WHEELで検索すると、結構引っかかる。 .hのどれかにACONFIGURATION_NAVIGATION_MOUSEを入れれば良い。探してみる。
frameworks/base/native/include/android/configuration.hに
ACONFIGURATION_NAVIGATION_WHEEL = 0x0004,
/* DANGUN START */
ACONFIGURATION_NAVIGATION_MOUSE = 0x0005,
/* DANGUN END */
WHEELが4なら、MOUSEは5だろと書いてみた。
結果オーライだ。
7.mRefが未定義
次のエラーは
frameworks/base/libs/utils/RefBase.cpp:289: error: 'mRefs' was not declared in this scope
該当行は
weakref_impl* const refs = mRefs;
weakref_implで検索をかけると、
/Volumes/aOSs/F-05D/gingerbread/frameworks/base/include/utils/RefBase.h
が見つかった。ここには
/* FUJITSU:2011-11-26 start */
//weakref_impl* const mRefs;
weakref_checker* const mChecker;
/* FUJITSU:2011-11-26 end */
こんなのがある。あれ!mRefsがコメントアウトされている。
富士通のことだからと、mRefsのコメントを外し、mCheckerの方をコメントアウトした。すんなり通るよ(笑)。これが
富士通品質。
だが、まだまだ、終わらない。
「【F-05D】
富士通ソースはbuildできるか(3)」に続く。
by Tom
【書評】(聖書)「この文は偽…