我有一个Application类来保持我的应用程序的全局状态。但是我无法在Manifest文件中注册它?知道怎么做吗?
答案 0 :(得分:296)
如果它派生自Application,则在清单中添加完全限定(名称空间+类名称)作为应用程序元素的android:name
参数。
<application
android:name="com.you.yourapp.ApplicationEx"
或者,如果可以将类的包描述为相对于package
标记中的manifest
,那么只需从.
开始:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.you.yourapp">
<application
android:name=".ApplicationEx"
答案 1 :(得分:8)
但是如果您已经使用了像branch.io的库那样的库那么很可能是你的清单
<application name="">
属性已经有一些名称,如
`<application name="io.referral.BranchApp">
在这种情况下,您需要首先扩展您的应用程序类,如下所示:
public class Application extends BranchApp
然后在清单中注册您的应用程序:
android:name="absdevelopers.com.brankreferal.Application"
这对我来说很完美:) 我希望它可以帮助陷入困境的人:)
答案 2 :(得分:5)
如果您使用的是MultiDex应用程序,那么您已经使用了“android:name”,而是扩展android.support.multidex.MultiDexApplication
:
public class MyApplication extends MultiDexApplication {...}
并将其添加到Android清单中:
android:name="app.package.MyApplication"
答案 3 :(得分:0)
如果 Activity 作为依赖项包含在内,您可以启动一个类,这应该会在 2021 年解决。
将 tools:ignore="MissingClass"
添加到 Android 清单文件中的活动元素
示例
<activity
android:name="com.google.android.gms.oss.licenses.OssLicensesActivity"
android:screenOrientation="portrait"
android:theme="@style/LicensesTheme"
tools:ignore="MissingClass"/>