2016-11-18 124 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' 
} 
相关问题