Android 应用程序名称问题

标签 android manifest

我的目标:

  1. 将开源待办事项应用程序作为库应用程序集成到我的主应用程序中。

我已完成的步骤:

  1. 通过单击 Islibrary 函数将 todoapp 配置为库项目。
  2. 已将该库添加到我的主项目中。
  3. 按照 this link 在我的主 Android list 文件中添加了库项目的所有 Activity 及其完整包名称。 .

面临的问题:

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

根本原因:

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

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

m_app = (TodoApplication) getapplication();

此行会引发运行时异常,因为在主 list 文件中,名称参数中没有 Todoapplication。

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

最佳答案

如果库项目具有自定义 Application 类,则在定义您的应用程序类时,您需要从其自定义 Application 类继承。因此,使用 WishApplication 扩展 ToDoApplication,而不是 WishApplication 扩展 Application

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

关于Android 应用程序名称问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8569182/

相关文章:

android - NFC请求响应android

java - 在 Java 中返回数组

android - Android 自动对焦后的视频录制问题

java - 如何从Jboss(wildfly)中的web文件夹读取MANIFEST.MF文件

android - 一个 webview 覆盖在另一个 webview 上

java - Activity 泄漏了最初添加到此处的窗口(当登录数据错误时)

java - 是否可以在 java Manifest 文件中使用 SHA1-Digest 而无需实际使用 key

安卓更改应用程序图标

android - 你有没有在你的 androidmanifest.xml android 中声明这个 Activity

intellij-idea - 使用 IntelliJ IDEA 创建 Kotlin jar 时出现 "No main manifest attribute"