2016-11-18 126 views
0

當我在某些設備上運行我的應用程序時(例如我擁有該設備的平板電腦可以正常運行),不會崩潰。在某些設備上運行但未在其他設備上找到Android類

但是當我嘗試在手機上運行它時,我收到一個錯誤,抱怨找不到類定義。

java.lang.RuntimeException: An error occured while executing doInBackground() 
    at android.os.AsyncTask$3.done(AsyncTask.java:300) 
    at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355) 
    at java.util.concurrent.FutureTask.setException(FutureTask.java:222) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:242) 
    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) 
    at java.lang.Thread.run(Thread.java:841) 
Caused by: java.lang.NoClassDefFoundError: org.apache.commons.io.output.StringBuilderWriter 

這裏是在gradle這個文件

dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    compile project(':volley') 
    compile files('libs/commons-io-2.4.jar') 
    compile 'com.android.support:appcompat-v7:25.0.0' 
    compile 'com.android.support:design:25.0.0' 
    compile 'com.android.support:support-v4:25.0.0' 
    compile 'com.android.support:recyclerview-v7:25.0.0' 
} 

的依賴而jar是在lib文件夾中。

的Android版本:0​​Phone: 4.4.2 Tablet: 5.1.1

SDK安裝: compileSdkVersion: 25 minSdkVersion: 15 targetSdkVersion: 24

沒有任何人有什麼想法?

+0

您的手機和平板電腦是否具有相同的Android版本? – pleft

+0

爲什麼你需要一個jar文件? '編組:'commons-io',名稱:'commons-io',版本:'2.4'' –

+0

@ cricket_007這就是我繼承項目的方式,我應該擺脫它嗎? –

回答

0

沒有任何人有任何想法

您應該添加阿帕奇百科全書直接到您的項目:

compile "commons-io:commons-io:2.5" 
+0

'無法解決:org.apache.commons:commons-io:2.5' –

+0

我是否需要添加另一個存儲庫來解決此問題? –

+0

Cheeck編輯回答 –

0

原來,真正的問題是與multiDexing

我加入這defaultConfig

defaultConfig { 
    multiDexEnabled true 
} 

,其中包括此我dependencies

dependencies { 
    compile 'com.android.support:multidex:1.0.1' 
} 
相關問題