【发布时间】:2017-10-06 07:57:50
【问题描述】:
我的应用程序是一个扩展 MultiDexApplication 的自定义类。
public class CustomApp extends MultiDexApplication {
@Override
public void onCreate() {
super.onCreate();
//TODO
}
}
在我的 AndroidManifest.xml 中:
<application
android:name=".helper.CustomApp"
android:allowBackup="false"
android:icon="@mipmap/ic_launcher"
android:label="${app_name}"
android:largeHeap="true"
android:screenOrientation="portrait"
android:supportsRtl="true"
android:theme="@style/AppTheme"
tools:replace="android:allowBackup, android:label">
当我尝试在三星 s6 (API 7.0) 上运行 apk 时,一切正常。但是,当我尝试在 THOMSON (API 4.2.2) 上运行它时,我收到了这个错误:
FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to instantiate application me.blu.app.helper.CustomApp: java.lang.ClassNotFoundException: Didn't find class "me.blu.app.helper.CustomApp" on path: DexPathList[[zip file "/data/app/me.blu.app-1.apk"],nativeLibraryDirectories=[/data/app-lib/me.blu.app-1, /vendor/lib, /system/lib]]
at android.app.LoadedApk.makeApplication(LoadedApk.java:504)
所以我这样做了that - 我创建了一个 multidex-config.txt 并添加了这一行:
me/blu/app/helper/CustomApp.class
此文件根据需要位于我的 build.gradle 文件旁边。
然后我在我的两个 builTypes 中添加了这个 multiDexKeepFile file('multidex-config.txt'),但也在 multiDexEnabled true 下方。
它仍然无法正常工作。我会非常感谢一些帮助^^
谢谢。
【问题讨论】:
-
android:name=".CustomApp" -
@IntelliJAmiya 抱歉,这是一个错字 - 但我已经尝试过了,但我仍然收到此错误:/
-
@Benobab 按照本教程中的步骤启用支持 multidex developer.android.com/studio/build/multidex.html#mdex-pre-l
-
@SergiiPechenizkyi 我已经这样做了(这个链接是我帖子的一部分^^),所以谢谢,但它没有用:/