java - 在 MyApp 类中扩展 MultiDexApplication
问题描述
首先,我试图创建扩展 MultiDexApplication 的类 App,如下所示:
public class App extends MultiDexApplication {
private static Application application;
public static Application getApplication() {
return application;
}
public static Context getContext() {
return getApplication().getApplicationContext();
}
@Override
public void onCreate() {
super.onCreate();
application = this;
}
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(getContext());
}
}
但我收到一条消息建议:
The <application> com.packageName.App is not registered in the manifest less... (Ctrl+F1)
该文档没有说明任何内容。
那么,如果它已经写了名字,我怎么能在清单上注册它呢?
<application
android:name="android.support.multidex.MultiDexApplication"
...
通过这个文档,我只是停止使用这个给定的命名应用程序并使用:android:name=".App"
这是 App 创建的类:
public class App extends Application {
private static Application application;
public static Application getApplication() {
return application;
}
public static Context getContext() {
return getApplication().getApplicationContext();
}
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
application = this;
MultiDex.install(getContext());
}
}
请注意,我正在调用MultiDex.install(this);
onCreate
这是这里讨论的相应方法吗?
解决方案
我不认为你必须继承MultiDexApplication
。所以你有你的App
类,你调用MultiDex.install
,你的应用程序类<application/>
在你的清单中的标记下(完整路径或相对路径 - 无关紧要)。
还请确保您的应用模块的 build.gradle 文件multiDexEnabled true
在 android/defaultConfig 下?
PS.:在manifest下指定App的典型(相对路径)方式:
<application
android:name=".App"
推荐阅读
- mysql-error-1064 - 您的 SQL 语法有错误 -1064
- c# - 有人在 DNN 9.9 版中实现了 DotNetNuke.Abstractions.Portals.IPortalAliasInfo.HttpAlias 吗?
- python - 按下任何按钮时发出信号
- python - 如何使用带有自定义视频输入的 OpenCV 视频捕获?
- javascript - 为什么 setTimeuot console.log 每秒?
- c# - 查询在 SSMS 中有效,但在 C# 中无效?
- ios - Observables 绑定
- pytorch - 如何让工作机器在本地使用 RRefs,同时在 PyTorch RPC 中保留梯度
- java - 为什么在 VisualVM 中 CPU 时间大于挂钟时间?
- python - 我可以在 Django REST 的模型中使用 ModelViewSet 进行自我父级的 POST 和 GET 操作吗?