我正在尝试使用 Mapsforge 设置一个新的 Android 项目。我知道人们一直遇到这个问题,因为该库需要 Java 7 来构建。但是,我使用的是 Build-Tools 版本 20,它使用 Java 7。我还有最新更新版本的 Eclipse 工具。事实上,我正在全新安装 Android 开发者工具包。
到目前为止,我已经导入了mapsforge-core、mapsforge-map、mapsforge-map-android、mapsforge-map-awt 和mapsforge-map-reader。 然后我尝试使用以下代码初始化 MapView:
AndroidGraphicFactory.createInstance(thisApp);
这会导致以下错误。
java.lang.NoClassDefFoundError: org.mapsforge.map.android.graphics.AndroidGraphicFactory
我查看了引用的库,AndroidGraphicFactory 类在 org.mapsforge.map.android.graphics 中定义并显示出来。当查看 /bin/dexedLibs\
中的 jar 文件时,classes.dex 文件存在,但几乎没有其他文件。
我按照this answer建议的步骤进行操作,但错误仍然存在。
有什么想法可以解释为什么会这样吗?
最佳答案
您需要将 jar 文件放入 libs/ 文件夹中,而不是在 java 构建路径上添加引用。
关于java - Mapsforge 0.4.0 和 Eclipse 出现 NoClassDefFoundError,无法构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25049291/