NoClassDefFoundError:org.slf4j.LoggerFactory在带有Graphhopper的Android应用程序上
我目前正在开发一个NoClassDefFoundError:org.slf4j.LoggerFactory在带有Graphhopper的Android应用程序上,android,eclipse,graphhopper,Android,Eclipse,Graphhopper,我目前正在开发一个Android应用程序,我想使用嵌入该应用程序的graphhoper0.3(我无法设置服务器)。 我正在使用Android 4.0,EclipseKepler,Maven 3.2.1,Android for Maven Eclipse 1.0.1 我首先尝试拉分支0.3并将“核心”文件夹设置为一个Eclipse项目,然后将其添加到我的android项目的构建路径中。我还尝试直接使用graphhopper-0.3-android.jar Android项目主活动onStart()
Android
应用程序,我想使用嵌入该应用程序的graphhoper0.3
(我无法设置服务器)。
我正在使用Android 4.0,EclipseKepler
,Maven 3.2.1
,Android for Maven Eclipse 1.0.1
我首先尝试拉分支0.3并将“核心”文件夹设置为一个Eclipse
项目,然后将其添加到我的android项目的构建路径中。我还尝试直接使用graphhopper-0.3-android.jar
Android项目主活动onStart():
不幸的是,每次我都会出现以下错误:
java.lang.NoClassDefFoundError: org.slf4j.LoggerFactory
它不会出现在常规Java项目中;只有在安卓系统中。
我尝试将slf4j
JAR
添加到构建路径,但没有成功
任何帮助都将不胜感激!这是我在这里的第一篇帖子,我真的不知道还有什么可以尝试的。如果您需要更多关于我的设置或任何信息,请询问
编辑
在验证答案的注释中填写完整的解决方案。因为您试图直接使用Graphhopper,所以Maven没有下载Graphhopper的所有依赖项。为了解决这个问题,您应该将Graphhopper添加为Maven依赖项,或者尝试“手动”解决依赖项,即通过将缺少的类添加到构建路径并将它们导出到APK(如果您使用的是Maven,那么只需将依赖项添加到pom.xml,而不使用scope标记).在将库添加到构建路径时,您遇到了什么错误?如果我在构建路径中添加作者提供的所有sfl4j JAR,并将android、api、jdk14和log4j12与项目一起导出,我会发现:无法执行dex:多个dex文件定义Lorg/slf4j/impl/StaticLoggerBinder;我一开始考虑过这一点,但当我在常规Java项目中创建GraphHopper实例时,它工作得非常好。。。除了Graphhopper导入的项目外,我没有使用Maven。我正试图用Maven配置一个新的Android项目,并在其中添加“GraphOper”依赖项。也许在“普通Java”运行时的路径上有SLF4J?请确保您的设备上没有SLF4J。只要添加SLF4J作为依赖项,我会在Eclipse中解决“consume aar”、maven和ADT错误后立即尝试。现在,我无法在Eclipse中使用Maven管理Android项目。这就是为什么我一开始就想避免它。好吧,终于成功了!我没有使用IDE,只是从maven创建了一个“android快速启动”项目,并使用一个简单的文本编辑器编辑文件,以添加我的GraphHopper代码行和依赖项。下一步是使用IDE。。。不过,我将始终需要通过Maven进行构建。谢谢也许可以试试Android Studio。应该无缝地处理Maven。
java.lang.NoClassDefFoundError: org.slf4j.LoggerFactory