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