2017-07-13 1 views
0

こんにちは私はアプリケーションを開発中です。このアプリケーションを一部のデバイスにインストールしようとしました。それは次の例外でクラッシュいくつかの他のデバイス上で動作しますfine.But:一部のデバイスでAndroidアプリがClassNotFoundExceptionでクラッシュする

07-13 12:28:17.515 17306-17306/? E/AndroidRuntime: FATAL EXCEPTION: main 
Process: com.example.simple, PID: 17306 
java.lang.RuntimeException: Unable to instantiate application 
com.example.simple.SampleApplication: java.lang.ClassNotFoundException: 
Didn't find class "com.example.simple.SampleApplication" on path: 
DexPathList[[zip file 
"/data/app/com.example.simple-1/base.apk"],nativeLibraryDirectories=[/data/ap 
p/com.example.simple-1/lib/arm, 
/data/app/com.example.simple-1/base.apk!/lib/armeabi-v7a, /vendor/lib, 
/system/lib]] 
at android.app.LoadedApk.makeApplication(LoadedApk.java:608) 
at 
android.app.ActivityThread.handleBindApplication(ActivityThread.java:5013 
) 
at android.app.ActivityThread.-wrap1(ActivityThread.java) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1572) 
at android.os.Handler.dispatchMessage(Handler.java:111) 
at android.os.Looper.loop(Looper.java:207) 
at android.app.ActivityThread.main(ActivityThread.java:5847) 
at java.lang.reflect.Method.invoke(Native Method) 
at 
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.jav 
a:865) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755) 
Caused by: java.lang.ClassNotFoundException: Didn't find class 
"com.example.simple.SampleApplication" on path: DexPathList[[zip file 
"/data/app/com.example.simple-1/base.apk"],nativeLibraryDirectories=[/data/a 
pp/com.example.simple-1/lib/arm, 
/data/app/com.example.simple-1/base.apk!/lib/armeabi-v7a, /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.newApplication(Instrumentation.java:986) 
at android.app.LoadedApk.makeApplication(LoadedApk.java:603) 
at 
android.app.ActivityThread.handleBindApplication(ActivityThread.java:5013 
)  
at android.app.ActivityThread.-wrap1(ActivityThread.java)  
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1572)  
at android.os.Handler.dispatchMessage(Handler.java:111)  
at android.os.Looper.loop(Looper.java:207)  
at android.app.ActivityThread.main(ActivityThread.java:5847)  
at java.lang.reflect.Method.invoke(Native Method)  
at 
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.jav 
a:865)  
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)  
Suppressed: java.lang.ClassNotFoundException: 
com.example.simple.SampleApplication 
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) 
... 12 more 
Caused by: java.lang.NoClassDefFoundError: Class not found using the boot 
class loader; no stack trace available 
07-13 12:33:17.714 17306-17306/com.example.simple I/RuntimeInit: RuntimeInit: enable FTRACE 

は、私はすでに私のGradleでmultiDexEnabled trueを可能にしました。この問題を解決するにはいくつかの助けが必要です。ありがとうございました。

+0

フォローhttps://stackoverflow.com/a/33430306/3395198 –

+0

あなたのDEXの設定が –

+0

はい、multidexはあなたの問題を解決することができるものです。アプリケーションクラスで初期化された解析ライブラリを追加したため、これが起こっている可能性があります。さらに、multidexを追加する必要がない場合は、コメントすることができます。 –

答えて

1

依存関係のタグの下のリンクの下に追加します。サンプルアプリケーションクラスでbuild.gradleファイル

dependencies { 

     ... 
     //Multi Dex 
     compile 'com.android.support:multidex:1.0.1' 
     .... 
    } 

で...

0

compile 'com.android.support:multidex:1.0.1' 

同期して実行

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

鶏クリーン&ビルドプロジェクト

+0

私はこの解決策を試みましたが、同じエラーを与えています。 – nilkash

+0

プロジェクトをクリーンアップして、もう一度@nilkashを再構築してください –

0

コンパイル「com.android.support:multidex:1.0.1」

は は、(窓の上に構築された)は、Macからアプリケーションを実行しようとしています...私のために働きました。 アプリの起動時にクラッシュします。

おかげで、すべての..

関連する問題