我在以发布模式启动应用程序时遇到问题。
我已为“调试”和“发布”模式启用了MultiDex。在Debug模式下进行部署时,我的应用程序运行正常,一切正常。但是当我启动它的发布模式时,它在启动时崩溃。这是设备日志:
Android清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
android:versionName="17.2" android:versionCode="1"
android:installLocation="auto" package="com.myapp">
<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="28" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application android:label="Test Application" android:largeHeap="true" android:icon="@drawable/AppIcon" android:supportsRtl="true">
<provider android:name="android.support.v4.content.FileProvider" android:authorities="${applicationId}.provider" android:exported="false" android:grantUriPermissions="true">
<meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/provider_paths" />
</provider>
</application>
</manifest>
答案 0 :(得分:0)
使您的应用程序扩展MultiDexApplication。如果还没有,请像下面这样创建一个BaseApplication类:
public class BaseApplication extends MultiDexApplication {
@Override
public void onCreate() {
super.onCreate();
}
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}
}
另外,将以下内容添加到您的build.gradle中:
multiDexEnabled true
您的依赖项:
dependencies {
implementation 'androidx.multidex:multidex:2.0.1'
}
或者如果不使用AndroidX
dependencies {
implementation 'com.android.support:multidex:1.0.3'
}
最后在清单中添加应用标记:
android:name="android.support.multidex.MultiDexApplication"
或
android:name="androidx.multidex.MultiDexApplication"
如果您已迁移到AndroidX