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

时间:2012-08-05 08:48:00

标签: android maven android-source

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

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进行编译?

1 个答案:

答案 0 :(得分:0)

Android构建系统代码 - 根据需要从.logtags文件生成Java类。请参阅:https://github.com/android/platform_build/blob/master/core/base_rules.mk

你需要解密make规则并自己运行代码生成,我想。