无法使用EventLogTags编译系统应用程序(Phone).无法解析



这与我之前的问题有关。我试图使用maven从android 4.0.4构建Phone应用程序(我添加framework_intermediates作为依赖项,这样内部api问题就解决了),但我遇到了这个问题。日志的某些部分如下:

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

CallNotifier.java中对应的行为:EventLog.writeEvent(EventLogTags.PHONE_UI_MULTIPLE_QUERY);

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

InCallScreen.java中对应的行为:EventLog.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编译它?

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

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

最新更新