Android Studio NoClassDefFoundError运行时未加载Jar库

Android Studio NoClassDefFoundError运行时未加载Jar库,android,android-studio,Android,Android Studio,附件是一个拉链,里面有三个文件夹。ShimmerExample、ShimmerDriver和ShimmerAndroidInstrumentDriver。ShimerExample是主程序,它依赖于其他两个项目作为库 我启动AndroidStudio 1.1并将“ShimmerExample”作为eclipse项目导入。import-summary.txt如下所示 该项目构建良好,并加载到android设备上。启动应用程序后,我得到java.lang.NoClassDefFoundError:L

附件是一个拉链,里面有三个文件夹。ShimmerExample、ShimmerDriver和ShimmerAndroidInstrumentDriver。ShimerExample是主程序,它依赖于其他两个项目作为库

我启动AndroidStudio 1.1并将“ShimmerExample”作为eclipse项目导入。import-summary.txt如下所示

该项目构建良好,并加载到android设备上。启动应用程序后,我得到
java.lang.NoClassDefFoundError:Ljavax/vecmath/Quat4d的解析失败
该类位于vecmath-1.3.1.jar中

请帮帮我,我没法让这个班上课!!我尝试了其他的“解决方案”,比如从命令行攻击gradew,但没有任何帮助。我的项目的zip是附加的

我引用了其他帖子,但仍然没有工作

ECLIPSE ANDROID项目导入摘要 清单合并: 您的项目使用提供清单的库和Eclipse project未显式启用清单合并。在Android Gradle中 项目、清单总是合并的(这意味着 库的清单将合并到应用程序清单中 手动将库清单中的内容复制到应用程序清单中 您可能需要删除这些,才能正确构建应用程序

忽略的文件: 以下文件未复制到新的Gradle项目中;您 应该评估项目中是否仍然需要这些,以及 因此,手动移动它们:

从ShimerandroidInstrumentDriver: *proguard-project.txt 从填隙示例: *License.txt *自述文件 *解放党\ *lib\AndroidBluetoothLibrary.jar *lib\commons-math-2.2.jar *lib\guava-12.0.jar *lib\vecmath-1.3.1.jar *proguard-project.txt

将JAR替换为依赖项: 导入程序将以下.jar文件识别为第三方 并将其替换为Gradle依赖项 其优点是已知更明确的版本信息,并且 库可以自动更新。但是,有可能 项目中的.jar文件的版本比 我们选择了依赖项,这可能导致项目无法编译。 您可以在导入向导中禁用jar替换,然后重试:

guava-12.0.jar=>com.google.guava:guava:12.0 android-support-v4.jar=>com.android.support:support-v4:19.1.0

可能缺少依赖项: 当我们用Gradle依赖项替换下面的.jar文件时,我们 从文件名推断出依赖项版本号。此 存储库中可能没有实际可用的特定版本。 如果出现生成错误,说明缺少依赖项,请编辑 将版本号设置为,例如“+”以获取最新版本 如果库API (我变了。)

guava-12.0.jar=>com.google.guava:guava:12.0中的12.0版

移动的文件: Android Gradle项目使用与ADT不同的目录结构 Eclipse项目。以下是项目的重组方式:

在ShimmerDriver: *libs\commons-math-2.2.jar=>shimmerDriver\libs\commons-math-2.2.jar *libs\vecmath-1.3.1.jar=>shimmerDriver\libs\vecmath-1.3.1.jar *src\=>shimmerDriver\src\main\java\ 在ShimerandroidInstrumentDriver中: *AndroidManifest.xml=>ShimerandroidInstrumentDriver\src\main\AndroidManifest.xml *assets\=>ShimerandroidInstrumentDriver\src\main\assets\ *libs\AndroidBluetoothLibrary.jar=>ShimerandroidInstrumentDriver\libs\AndroidBluetoothLibrary.jar *libs\androidplot-core-0.5.0-release.jar=>ShimerandroidInstrumentDriver\libs\androidplot-core-0.5.0-release.jar *libs\commons-math-2.2.jar=>ShimerandroidInstrumentDriver\libs\commons-math-2.2.jar *lint.xml=>ShimerandroidInstrumentDriver\lint.xml *res\=>ShimerandroidInstrumentDriver\src\main\res\ *src\=>ShimerandroidInstrumentDriver\src\main\java\ 在示例中: *AndroidManifest.xml=>shimmerExample\src\main\AndroidManifest.xml *res\=>shimmerExample\src\main\res\ *src\=>shimmerExample\src\main\java\

下一步: 您现在可以构建项目了。Gradle项目需要网络 连接到下载依赖项

漏洞: 如果由于某种原因您的项目没有生成,并且您确定 这是由于Eclipse对Gradle importer的缺陷或限制, 请在目录中提交一个bug 组件工具

(此导入摘要仅供参考,可以删除。)
导入后,如果您对结果满意。)

您可以通过将vecmath库从文件依赖项切换到库依赖项来解决此问题

为此,右键单击shimmerDriver并打开模块设置。 在这里,您可以添加库依赖项“java3d:vecmath:1.3.1”,并删除文件依赖项。最后重建项目