在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/Java/ 加上自定義Application之后報(bào)錯(cuò)(ClassNotFoundExcept

加上自定義Application之后報(bào)錯(cuò)(ClassNotFoundException)

相關(guān)代碼

package com.weyes.focus;

import android.app.Application;

public class MyApplication extends Application {}
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.weyes.focus">

    <application
        android:name="com.weyes.focus.MyApplication"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>

                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
    </application>
</manifest>

問(wèn)題描述

添加:android:name="com.weyes.focus.MyApplication"
項(xiàng)目在安卓5.0以上運(yùn)行都沒(méi)有問(wèn)題。
在4.x上運(yùn)行報(bào)錯(cuò)。我這里三臺(tái)手機(jī)都報(bào)錯(cuò),紅米(4.2.1)、三星(4.3)、酷派(4.4.4)。
刪除:android:name="com.weyes.focus.MyApplication"
所有手機(jī)運(yùn)行正常。

報(bào)錯(cuò)信息

01-06 15:28:08.720 25650-25650/? E/AndroidRuntime: FATAL EXCEPTION: main
                                                   java.lang.RuntimeException: Unable to get provider com.luck.picture.lib.PictureFileProvider: java.lang.ClassNotFoundException: Didn't find class "com.luck.picture.lib.PictureFileProvider" on path: DexPathList[dexElements=[zip file "/data/app/com.weyes.focus-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.weyes.focus-1, /vendor/lib, /system/lib]]
                                                       at android.app.ActivityThread.installProvider(ActivityThread.java:5115)
                                                       at android.app.ActivityThread.installContentProviders(ActivityThread.java:4670)
                                                       at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4606)
                                                       at android.app.ActivityThread.access$1300(ActivityThread.java:162)
                                                       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1414)
                                                       at android.os.Handler.dispatchMessage(Handler.java:99)
                                                       at android.os.Looper.loop(Looper.java:153)
                                                       at android.app.ActivityThread.main(ActivityThread.java:5383)
                                                       at java.lang.reflect.Method.invokeNative(Native Method)
                                                       at java.lang.reflect.Method.invoke(Method.java:511)
                                                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:853)
                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620)
                                                       at dalvik.system.NativeStart.main(Native Method)
                                                    Caused by: java.lang.ClassNotFoundException: Didn't find class "com.luck.picture.lib.PictureFileProvider" on path: DexPathList[dexElements=[zip file "/data/app/com.weyes.focus-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.weyes.focus-1, /vendor/lib, /system/lib]]
                                                       at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:53)
                                                       at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
                                                       at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
                                                       at android.app.ActivityThread.installProvider(ActivityThread.java:5100)
                                                       at android.app.ActivityThread.installContentProviders(ActivityThread.java:4670)?
                                                       at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4606)?
                                                       at android.app.ActivityThread.access$1300(ActivityThread.java:162)?
                                                       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1414)?
                                                       at android.os.Handler.dispatchMessage(Handler.java:99)?
                                                       at android.os.Looper.loop(Looper.java:153)?
                                                       at android.app.ActivityThread.main(ActivityThread.java:5383)?
                                                       at java.lang.reflect.Method.invokeNative(Native Method)?
                                                       at java.lang.reflect.Method.invoke(Method.java:511)?
                                                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:853)?
                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620)?
                                                       at dalvik.system.NativeStart.main(Native Method)?

這里報(bào)錯(cuò)說(shuō)找不到這個(gè)類com.luck.picture.lib.PictureFileProvider,其實(shí)不單單是這個(gè)類,而是所有類都找不到,但這些類確實(shí)都是存在的,也就是類加載的時(shí)候就有問(wèn)題了,實(shí)在不知道哪里出了問(wèn)題,哪路大神碰過(guò)類似的問(wèn)題么?求指教!

回答
編輯回答
涼薄
這個(gè)問(wèn)題是分包錯(cuò)誤。

解決方法:

一、配置build.gradle (app)

android {  
    defaultConfig { 
        multiDexEnabled true 
    }
    dependencies { 
        compile 'com.android.support:multidex:1.0.0' 
    }

二、使用自定義的Application繼承MultiDexApplication這個(gè)類,或者重寫Application的方法attachBaseContext(),并調(diào)用MultiDex.install();

@Override 
protected void attachBaseContext(Context base) { 
    super.attachBaseContext(base); 
    MultiDex.install(base); 
}
2017年12月31日 17:43