gpt4 book ai didi

android - NoClassDefFoundError 与 Mapsforge 0.4.0 和 Eclipse

转载 作者:搜寻专家 更新时间:2023-11-01 08:50:54 25 4
gpt4 key购买 nike

我正在尝试使用 Mapsforge 向我的应用程序添加 map View 。我做了以下事情:

  • 下载 jar 文件并将它们放在 libs/ 文件夹中
    • mapsforge-core-0.4.0.jar
    • mapsforge-map-0.4.0.jar
    • mapsforge-map-android-0.4.0.jar
    • mapsforge-map-reader-0.4.0.jar
  • 右键单击文件并选择Build Path > Add to Build Path
  • 项目属性中,将四个 jar 标记为已导出。

但是,当我运行我的应用程序时,它会在第一次调用库中的类时崩溃:

E/AndroidRuntime(21265): java.lang.NoClassDefFoundError: org.mapsforge.map.android.graphics.AndroidGraphicFactory

Android SDK工具均在17以上版本,不涉及Maven。

我一直在寻找答案,但无济于事。我试过将 jar 在列表中向上移动,清理项目——这和我已经做的事情是网上建议的本质。没有任何帮助。

当我检查 bin/dexedLibs 的内容时,我注意到 mapsforge 的 jar 已创建但实际上是空的,除了 list 文件和(在 map jar 的情况下)osmarender 资源。值得注意的是,classes.dex 文件不存在。该文件夹中的 Android 支持库包含一个 classes.dex 文件。

有什么线索吗?

编辑:我检查了原始的 jar 文件。查看 .class 文件时,我注意到它们每个都以 CA FE BA BE 00 00 00 33 开头,即采用 Java 7 格式。

根据我在网上找到的一些信息,Android SDK不支持Java 7。现在还是这样吗?这可以解释为什么没有任何效果,但会让我想知道为什么 Mapsforge 开发人员会使用 Java 7 来编译要与 Android 一起使用的 jar...

最佳答案

NoClassDefFound 确实是一个很难解决的异常,您可以尝试一种解决方法。

workaroud:Java Build Path -> Oeder and Export -> make sur 3rd.jar above yourPath/src

我知道android support java7 ,仅当您使用 19 以上版本时。

关于android - NoClassDefFoundError 与 Mapsforge 0.4.0 和 Eclipse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23587939/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com