Android Studio + Volley = NoClassDefFound?

时间:2013-06-08 18:38:42

标签: android android-studio android-volley

好吧,我决定同时试用Android的Volley网络库和新的Android Studio IDE。但是,我遇到了一些问题。

我构建了volley.jar,将其复制到我的libs文件夹中以获取新项目,编辑build.gradle以包含volley,并在我的主要活动中设置静态ImageLoader和RequestQueue。但是,当我将应用程序加载到模拟器(4.2)上时,我最终得到了

E/AndroidRuntime: FATAL EXCEPTION: main
        java.lang.NoClassDefFoundError: com.android.volley.toolbox.Volley

按照以下方式调用Volley时:

        queue = Volley.newRequestQueue(this);

Gradle编辑以支持图书馆:

dependencies {
    compile files('libs/android-support-v4.jar')
    compile files('libs/volley.jar')
}

有人介意我指向正确的方向吗?

4 个答案:

答案 0 :(得分:4)

Exception java.lang.NoClassDefFoundError: com.google.android.gms.common.AccountPicker

在这里找到了解决方法。

基本上,打开命令提示符(或终端)并导航到项目目录。在Windows上使用以下命令:

对于 Windows 用户: gradlew.bat clean

对于 mac ,用户输入:./ gradlew clean

然后重新加载Android Studio并重试!

答案 1 :(得分:1)

我确定你的方法也有效,但我甚至没有把gradle构建的东西搞得一团糟。 相反,我只是将com文件夹复制到Android Studio中的java src文件夹中。它也适用于Eclipse。

答案 2 :(得分:1)

尝试使用volley

运行应用程序时遇到了同样的错误
E/AndroidRuntime: FATAL EXCEPTION: main
        java.lang.NoClassDefFoundError: com.android.volley.toolbox.Volley
IntelliJ中的

我只需要进入文件>> 项目结构( CTRL + ALT + SHIFT + S

到排球模块,然后是关联的方面,并选中复选框“图书馆模块”'解决问题。

答案 3 :(得分:1)

  • 打开“文件 - >项目结构”

  • 点击“项目设置 - >模块”

  • 点击“添加 - >导入模块”

  • 在您的计算机上选择已通过“git clone”克隆Volley项目的Volley目录

  • 将Volley添加为库项目/模块后,检查“模块 - >排球 - >依赖项”下是否存在对主项目的循环依赖性引用,如果可用则将其删除

    < / LI>
  • 检查Volley模块是否已添加到“模块 - >项目主模块 - >依赖项”下的主项目模块中,如果没有相关性,请单击“添加 - >模块依赖性”

  • 添加Volley依赖性后,如果需要,请转到“Up”。我不确定是否有必要。

  • 点击“项目设置 - &gt; Facets - &gt; Volley”勾选名为“图书馆模块”的复选框,使您的排球模块不会独立运行,而是像项目主模块一样运行模块