Android Studio + Volley = NoClassDefFound?

问题描述 投票:8回答:4

好吧,我决定同时试用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')
}

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

android android-studio android-volley
4个回答
4
投票

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

在这里找到了修复。

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

对于Windows用户:gradlew.bat clean

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

然后重新加载Android Studio并再试一次!


1
投票

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


1
投票
  • 打开“文件 - >项目结构”
  • 单击“项目设置 - >模块”
  • 单击“添加 - >导入模块”
  • 在您的计算机上选择已通过“git clone”克隆Volley项目的Volley目录
  • 将Volley添加为库项目/模块后,检查“模块 - >排球 - >依赖项”下是否存在对主项目的循环依赖性引用,如果可用则将其删除
  • 检查Volley模块是否已添加到“模块 - >您的项目主模块 - >依赖项”下的主项目模块中,如果没有相关性,请单击“添加 - >模块依赖”
  • 添加Volley依赖项后,如果需要,请移至“Up”。我不确定是否有必要。
  • 单击“项目设置 - >构面 - >排球”勾选名为“库模块”的复选框,使您的排球模块不会独立运行,而是像项目的主模块一样运行模块

1
投票

尝试使用凌空运行应用程序时遇到同样的错误

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

在IntelliJ中。

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

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

© www.soinside.com 2019 - 2024. All rights reserved.