在清单中注册应用程序类?

我有一个Application类来保存应用程序的全局状态。但我无法在清单文件中登记?知道怎么做吗?

95499 次浏览

如果它派生自Application,则在清单中添加完全限定(命名空间+类名)作为Application元素的android:name参数。

<application
android:name="com.you.yourapp.ApplicationEx"

或者如果类的包可以描述为相对于manifest标记中的package,则只需以.开头:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.you.yourapp">


<application
android:name=".ApplicationEx"

但如果你已经在使用一些库,比如branch。木卫一的库,那么很可能是你的清单

<application name="">

属性会有一些名称,比如

`<application name="io.referral.BranchApp">

在这种情况下,你需要首先扩展你的应用程序类,如下所示:

public class Application extends BranchApp

然后在manifest中注册您的应用程序为:

android:name="absdevelopers.com.brankreferal.Application"

这对我来说是完美的:) 我希望它能帮助有麻烦的人:)

如果你正在使用MultiDex应用程序,你已经在使用"android:name",所以改为扩展android.support.multidex.MultiDexApplication:

public class MyApplication extends MultiDexApplication {...}

并将其添加到Android manifest中:

android:name="app.package.MyApplication"

如果活动是作为一个依赖项包含的,你可以启动一个类,这应该在2021年解决它。

tools:ignore="MissingClass"添加到Android manifest文件中的activity元素中

例子

<activity
android:name="com.google.android.gms.oss.licenses.OssLicensesActivity"
android:screenOrientation="portrait"
android:theme="@style/LicensesTheme"
tools:ignore="MissingClass"/>