2017-08-07 73 views
1

我有一個應用程序類的問題,是運行時異常,所以我無法找到如何複製,也許這裏有些人可以幫助我解決這個問題。我認爲這可能是設備或Android自我,但我需要確定,如果任何人都可以幫助我,我會很感激。 謝謝並對我的英語不好。崩潰 - 運行時異常(MultiDex.java:178)

Android版本:4.4 堆棧跟蹤:

了java.lang.RuntimeException: 在android.app.LoadedApk.makeApplication(LoadedApk.java:516)在 android.app.ActivityThread.handleBindApplication ( (ActivityThread.java:1381) at android.os.Handler.dispatchMessage android.app.ActivityThread.access $ 1500 (ActivityThread.java:151)at android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1381) at android.os.Handler.dispatchMessage (Handler.java:110)at android.os.Looper.loop(Looper.java:193)在 android.app.ActivityThread.main(ActivityThread.java:5299)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:825)at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:641)at dalvik.system.NativeStart.main在 app.tacoguru.MultiDexApplication.attachBaseContext (MultiDexApplication.java在 android.support.multidex.MultiDex.install(MultiDex.java:178):(母語 方法)

引起:了java.lang.RuntimeException :35 )at android.app.Application.attach (Application.java:181)at android.app.Instrumentation.newApplication (Instrumentation.java:991)at android.app.Instrumentation.newApplication(Instrumentation.java:975) 在android.app.LoadedApk.makeApplication(LoadedApk.java:511)

MultidexApplication行代碼:

public class MultiDexApplication extends Application { 

    public MultiDexApplication() { 
    } 

    @Override 
    public void onCreate() { 
     super.onCreate(); 
     Apptentive.register(this, key); 
    } 

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

    @Override 
    public Context getApplicationContext() { 
     return super.getApplicationContext(); 
    } 
} 

清單:

<application 
    android:name=".MultiDexApplication" 
    android:allowBackup="true" 
    android:hardwareAccelerated="true" 
    android:icon="@mipmap/ic_launcher" 
    android:largeHeap="true" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 

gradle這個:

defaultConfig { 
     minSdkVersion 19 
     targetSdkVersion 23 
     multiDexEnabled true 
} 
+0

根據[源代碼](https://android.googlesource.com/platform/frameworks/multidex/+/marshmallow-release/library/src/android/support/multidex/MultiDex.java#178),'RuntimeException '178行只是重新引發內部異常,其中包含有關根本原因的信息。你能再看看你的日誌(搜索'Multidex安裝失敗'字符串)並共享內部異常堆棧跟蹤嗎? –

回答

1

嘗試刪除這條線MultiDex.install(this);MultiDexApplication而不是Application繼承你Application類。

+0

我已經完成了該建議,但是應用程序庫崩潰 按照https://developer.android.com/studio/build/multidex.html中的文檔 我正在使用第三個選項來啓用Multidex功能。 – Chefes

+0

你可以刪除這一行,並嘗試:'Apptentive.register(this,key);' – Bob

+0

我不能因爲該代碼行是Apptentive Library的一部分 https:// github。COM/apptentive/apptentive-機器人/斑點/主/樣品/ apptentive-示例/ SRC /主/ JAVA/COM/apptentive /機器人/示例/ ExampleApplication.java – Chefes