Android ClassNotFoundException未在路径上找到类:DexPathList

时间:2017-10-12 18:29:59

标签: java android kotlin

直到昨天我的应用程序工作正常,今天突然它开始崩溃与Retrofit2错误所以我解决它通过升级依赖项并添加multidex到我的应用程序,问题是,现在当我尝试启动应用程序时没有找到任何类似它不存在的活动类,我在这里回顾了每个类似的问题,没有答案解决了我的问题,我不知道现在如何解决它,任何想法?,我使用自定义应用程序类:

MainApplication(科特林):

class MainApplication : Application() {

    override fun attachBaseContext(base: Context?) {
        super.attachBaseContext(base)
        MultiDex.install(this)
    }

    override fun onCreate() {
        super.onCreate()
        MainApplication.appContext = applicationContext
    }

    companion object {
        var appContext: Context? = null
            private set
    }

}

AndroidManifest

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.aarr.vip365">

    <!-- To auto-complete the email text field in the login form with the user's emails -->
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.READ_PROFILE" />
    <uses-permission android:name="android.permission.READ_CONTACTS" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-feature android:name="android.hardware.camera" android:required="false" />

    <!--<permission-->
        <!--android:name="com.project.purifficapp.permission.MAPS_RECEIVE"-->
        <!--android:protectionLevel="signature" />-->
    <!-- Allows to receive map -->
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
    <uses-permission android:name="com.project.purifficapp.permission.MAPS_RECEIVE" />
    <!-- Used by the Google Maps Android API V2 to download map tiles from Google Maps servers -->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />

    <!-- android:roundIcon="@mipmap/ic_circle" -->

    <application
        android:name="com.aarr.vip365.MainApplication"
        android:hardwareAccelerated="true"
        android:allowBackup="true"
        android:icon="@mipmap/ic_quarevip"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppThemeNoActionBar"
        android:largeHeap="true"
        tools:node="replace">
        <uses-library android:name="com.google.android.maps"/>
        <activity android:name="com.aarr.vip365.Views.MainActivity" />
        <activity
            android:name="com.aarr.vip365.Views.LoginActivity"
            android:label="@string/title_activity_login"
            android:screenOrientation="portrait" />
        <activity android:name="com.aarr.vip365.Views.RegistroActivity" />
        <activity
            android:name="com.aarr.vip365.Views.MenuActivity"
            android:label="@string/title_activity_menu"
            android:screenOrientation="portrait"
            android:theme="@style/AppThemeNoActionBar" >
        </activity>

        <meta-data android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />

        <meta-data
            android:name="com.google.android.geo.API_KEY"
            android:value="@string/google_maps_key" />

        <activity
            android:name="com.aarr.vip365.Views.SplashActivity"
            android:screenOrientation="portrait"
            android:theme="@style/SplashTheme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name="com.aarr.vip365.Views.PagosActivity"
            android:screenOrientation="portrait" />
        <activity
            android:name="com.aarr.vip365.Views.BuscarRutaActivity"
            android:screenOrientation="portrait" />

        <service
            android:name="com.paypal.android.sdk.payments.PayPalService"
            android:exported="false" />

        <activity android:name="com.paypal.android.sdk.payments.PaymentActivity" />
        <activity android:name="com.paypal.android.sdk.payments.LoginActivity" />
        <activity android:name="com.paypal.android.sdk.payments.PaymentMethodActivity" />
        <activity android:name="com.paypal.android.sdk.payments.PaymentConfirmActivity" />
        <activity android:name="com.paypal.android.sdk.payments.PayPalFuturePaymentActivity" />
        <activity android:name="com.paypal.android.sdk.payments.FuturePaymentConsentActivity" />
        <activity android:name="com.paypal.android.sdk.payments.FuturePaymentInfoActivity" />
        <activity android:name="io.card.payment.DataEntryActivity" />
        <activity android:name="com.aarr.vip365.Views.ConfiguracionActivity"
            android:screenOrientation="portrait" />
        <activity android:name="com.aarr.vip365.Views.EditUserActivity"
            android:screenOrientation="portrait" ></activity>
    </application>

</manifest>

的build.gradle:

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"
    defaultConfig {
        applicationId "com.aarr.vip365"
        minSdkVersion 21
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled true
//            multiDexKeepFile file 'multidex_config.txt'
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    dexOptions {
        javaMaxHeapSize "4g"
    }
    android.defaultConfig.manifestPlaceholders = [
            facebookAppId        : "516038112090677",
            googleWebClientId    : "215137711124-8bir20vatiima1fll9ehba0jv7ch9itb.apps.googleusercontent.com",
            twitterConsumerKey   : "your twitter consumer key",
            twitterConsumerSecret: "your twitter consumer secret",
            instagramClientId    : "your instagram client id",
            instagramClientSecret: "your instagram client secret",
            instagramRedirectUri : "your instagram redirect uri"
    ]
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
    compile('com.paypal.sdk:paypal-android-sdk:2.15.3') {
        exclude group: 'io.card'
    }
    compile 'com.google.android.gms:play-services-auth:11.0.4'
    compile 'com.google.android.gms:play-services-auth:11.0.4'

    compile 'com.android.support:support-core-utils:25.4.0'
    compile 'com.android.support:animated-vector-drawable:25.4.0'
    compile 'com.android.support:design:25.4.0'
    compile 'com.android.support:appcompat-v7:25.4.0'
    compile 'com.android.support:support-compat:25.4.0'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'

    compile 'com.github.siyamed:android-shape-imageview:0.9.3'
    compile 'com.j256.ormlite:ormlite-android:5.0'
    compile 'com.j256.ormlite:ormlite-core:5.0'

    compile 'com.squareup.retrofit2:retrofit:2.3.0'
    compile 'com.squareup.retrofit2:converter-gson:2.3.0'
    compile 'com.squareup.okhttp3:okhttp:3.3.1'
    compile 'com.squareup.okio:okio:1.6.0'

    compile 'com.google.android.gms:play-services:11.0.4'
    compile 'com.google.android.gms:play-services-maps:11.0.4'
    compile 'com.google.android.gms:play-services-ads:11.0.4'
    compile 'com.google.android.gms:play-services-gcm:11.0.4'
    compile 'com.google.maps.android:android-maps-utils:0.4'

    compile 'com.github.championswimmer:Android-SocialButtons:1.0'
    compile 'com.mindorks:paracamera:0.2.2'
    compile 'com.github.bumptech.glide:glide:4.2.0'
    compile 'com.squareup.picasso:picasso:2.5.2'

    compile 'com.github.KingsMentor:Luhn:v2.1.3'
    compile 'com.github.jaychang0917:SimpleAuth:1.0.4'

    compile 'com.android.support:multidex:1.0.1'
    compile 'com.android.support:cardview-v7:25.3.1'
    compile 'com.android.support:support-v4:25.3.1'

    testCompile 'junit:junit:4.12'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.2.0'
}
repositories {
    mavenCentral()
}

apply plugin: 'com.google.gms.google-services'

错误:

10-12 13:18:37.014 15090-15090/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.aarr.vip365, PID: 15090
                                                          java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.aarr.vip365/com.aarr.vip365.Views.SplashActivity}: java.lang.ClassNotFoundException: Didn't find class "com.aarr.vip365.Views.SplashActivity" on path: DexPathList[[zip file "/system/framework/com.google.android.maps.jar", zip file "/data/app/com.aarr.vip365-1/base.apk"],nativeLibraryDirectories=[/data/app/com.aarr.vip365-1/lib/arm, /vendor/lib, /system/lib]]
                                                               at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2555)
                                                               at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2767)
                                                               at android.app.ActivityThread.access$900(ActivityThread.java:177)
                                                               at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1449)
                                                               at android.os.Handler.dispatchMessage(Handler.java:102)
                                                               at android.os.Looper.loop(Looper.java:145)
                                                               at android.app.ActivityThread.main(ActivityThread.java:5951)
                                                               at java.lang.reflect.Method.invoke(Native Method)
                                                               at java.lang.reflect.Method.invoke(Method.java:372)
                                                               at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1400)
                                                               at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1195)
                                                            Caused by: java.lang.ClassNotFoundException: Didn't find class "com.aarr.vip365.Views.SplashActivity" on path: DexPathList[[zip file "/system/framework/com.google.android.maps.jar", zip file "/data/app/com.aarr.vip365-1/base.apk"],nativeLibraryDirectories=[/data/app/com.aarr.vip365-1/lib/arm, /vendor/lib, /system/lib]]
                                                               at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
                                                               at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
                                                               at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
                                                               at android.app.Instrumentation.newActivity(Instrumentation.java:1079)
                                                               at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2545)
                                                               at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2767) 
                                                               at android.app.ActivityThread.access$900(ActivityThread.java:177) 
                                                               at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1449) 
                                                               at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                               at android.os.Looper.loop(Looper.java:145) 
                                                               at android.app.ActivityThread.main(ActivityThread.java:5951) 
                                                               at java.lang.reflect.Method.invoke(Native Method) 
                                                               at java.lang.reflect.Method.invoke(Method.java:372) 
                                                               at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1400) 
                                                               at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1195) 
                                                            Suppressed: java.lang.NoClassDefFoundError: com.aarr.vip365.Views.SplashActivity
                                                               at dalvik.system.DexFile.defineClassNative(Native Method)
                                                               at dalvik.system.DexFile.defineClass(DexFile.java:226)
                                                               at dalvik.system.DexFile.loadClassBinaryName(DexFile.java:219)
                                                               at dalvik.system.DexPathList.findClass(DexPathList.java:321)
                                                               at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:54)
                                                                    ... 14 more
                                                            Suppressed: java.lang.ClassNotFoundException: com.aarr.vip365.Views.SplashActivity
                                                               at java.lang.Class.classForName(Native Method)
                                                               at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
                                                               at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
                                                               at java.lang.ClassLoader.loadClass(ClassLoader.java:504)... 13 more

Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available

1 个答案:

答案 0 :(得分:0)

在Android Studio上禁用即时运行对我来说很有效。 (设置-生成,执行,部署>即时运行)