0

这与我之前的问题有关。我正在尝试Phone使用 maven 从 android 4.0.4 构建应用程序(我正在添加 framework_intermediates 作为依赖项,因此解决了内部 apis 问题),我遇到了这个问题。部分日志如下:

Phone/src/com/android/phone/CallNotifier.java:[601,32] cannot find symbol
symbol  : variable EventLogTags

(对应的行CallNotifier.javaEventLog.writeEvent(EventLogTags.PHONE_UI_MULTIPLE_QUERY);:)

Phone/src/com/android/phone/InCallScreen.java:[723,28] cannot find symbol
symbol  : variable EventLogTags

(对应的行InCallScreen.javaEventLog.writeEvent(EventLogTags.PHONE_UI_ENTER);:)

所以......它找不到类EventLogTags。实际上有一个文件Phone/src/com/android/phone/EventLogTags.logtags,其内容如下:

# See system/core/logcat/event.logtags for a description of the format of this file.

option java_package com.android.phone;

70301 phone_ui_enter
70302 phone_ui_exit
70303 phone_ui_button_click (text|3)
70304 phone_ui_ringer_query_elapsed
70305 phone_ui_multiple_query

显然,这个文件告诉系统使用一些特定的标签来记录系统中的重要事件。我做了一个完整的 grep,但找不到任何定义值的文件PHONE_UI_ENTERPHONE_UI_MULTIPLE_QUERY等等。这些只是日志,所以我可以注释掉这些并让它工作。但我不想这样做,因为稍后我需要在整个 aosp 中构建它。所以我的问题是,如何在不修改任何文件的情况下使用 maven 进行编译?

4

1 回答 1

0

如果需要,Android 构建系统代码会从文件中生成 Java 类.logtags。见:https ://github.com/android/platform_build/blob/master/core/base_rules.mk

我想你需要自己破译make规则并运行代码生成。

于 2012-08-05T10:37:54.703 回答