Android应用程序名称问题

时间:2011-12-19 23:57:06

标签: android manifest

我的目标:

  1. 将开源的todoapplication作为库应用程序集成到我的主应用程序中。
  2. 我已完成的步骤:

    1. 通过单击Islibrary功能将todoapp配置为库项目。
    2. 将库添加到我的主项目中。
    3. 根据this link在我的主要知识产权清单文件中添加了库项目的所有活动及其完整包名。
    4. 问题面对:

      我收到运行时错误,没有编译错误,库项目完美集成。

      根本原因:

      当我分析Logcat时,我理解这是由于应用程序名称冲突。我的主应用程序在其清单文件中的应用程序名称为“wish”。清单文件中的库项目名称也为“Todoapplication”

      在java文件中有一行代码如下:

      m_app = (TodoApplication) getapplication();
      

      此行会引发运行时异常,因为在主清单文件中,name参数中没有Todoapplication。

      任何人都可以帮我解决这个问题。感谢。

1 个答案:

答案 0 :(得分:4)

如果库项目具有自定义Application类,则在定义自己的类时,需要从其自定义Application类继承。因此,请WishApplication extends ToDoApplication代替WishApplication extends Application

请注意,使用自定义Application通常毫无意义。它与静态数据成员具有相同的有效范围,并且只能有一个 Application对象。因此,我建议避免在库中使用自定义Application类,因为您不能让两个库都要求主机应用程序使用他们的自定义Application类。而且,对于您自己的代码,只有在明显优于普通静态数据成员时才使用自定义Application类。