java.lang.RuntimeException: невозможно создать экземпляр приложения .ApplicationDetails: - PullRequest
0 голосов
/ 06 декабря 2018

Только Mi Pad, имеющий эту проблему при запуске приложения.Для решения этой проблемы у меня есть попытка 1. Удалите приложение и повторите попытку подключения, но получите ту же ошибку 2. Мгновенный запуск отключен в моей андроид студии 3. Пользовательский рабочий стол в сборке gradle

Другой проект работает ста же андроид студия в той же вкладке

Любой Есть идеи, как это исправить.

 E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.uncommonsense, PID: 23808
    java.lang.RuntimeException: Unable to instantiate application .application.ApplicationDetails: java.lang.ClassNotFoundException: Didn't find class ".application.ApplicationDetails" on path: DexPathList[[zip file "/data/app/com.test.apk"],nativeLibraryDirectories=[/data/app-lib/com.uncommonsense-1, /vendor/lib, /system/lib]]
        at android.app.LoadedApk.makeApplication(LoadedApk.java:507)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4328)
        at android.app.ActivityThread.access$1500(ActivityThread.java:139)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1270)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:136)
        at android.app.ActivityThread.main(ActivityThread.java:5028)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:515)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:788)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:604)
        at dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.ClassNotFoundException: Didn't find class "com.ucsvirtualschool.application.ApplicationDetails" on path: DexPathList[[zip file "/data/app/com.uncommonsense-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.uncommonsense-1, /vendor/lib, /system/lib]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
        at android.app.Instrumentation.newApplication(Instrumentation.java:975)

Класс приложения

public class ApplicationDetails extends MultiDexApplication {


    public static boolean isAppOpen = false;

    private static ApplicationDetails mInstance;
    public static final String TAG = ApplicationDetails.class.getSimpleName();


    @Override
    protected void attachBaseContext(Context base) {
        MultiDex.install(this);
        super.attachBaseContext(base);
    }


    @Override
    public void onTerminate() {
        // TODO Auto-generated method stub
        super.onTerminate();
        isAppOpen = false;
    }
}

сборка Gradle

defaultConfig {
        applicationId "com.ucsvirtualschool"
        minSdkVersion 19
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        vectorDrawables { useSupportLibrary = true    }
        dataBinding {
            enabled = true
        }
        multiDexEnabled true
        vectorDrawables.useSupportLibrary = true
        ndk {
            abiFilters "armeabi", "x86"
        }
    implementation 'com.android.support:multidex:1.0.3' //for solve issue in mi tab

Ответы [ 2 ]

0 голосов
/ 08 июля 2019

Может быть, вы можете попробовать это: заполните название приложения ".application.ApplicationDetails" с "com.ucsvirtualschool.application.ApplicationDetails" в вашем in AndroidManifest.xml.

<application
    android:name="com.ucsvirtualschool.application.ApplicationDetails"
    android:allowBackup="false"
    android:hardwareAccelerated="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme"
    tools:replace="android:allowBackup">
0 голосов
/ 06 декабря 2018

Я бы подумал о двух вещах, основанных на предоставленных вами фрагментах кода.

  1. Вы уже используете MultiDexApplication, поэтому вам не нужно переопределять метод attachBaseContext
  2. Это можетслучается, но очень маловероятно, что класс ApplicationDetails не попадет в первый файл dex, и поэтому приложение падает.Вы можете попытаться объявить, что класс должен быть в самом первом файле dex. Объявление классов, необходимых в первичном файле dex
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...