我刚刚升级到Android Studio v2.2.3,并一直在努力让我的应用重建并运行。我终于构建了它,但是当我尝试在USB连接的设备上调试它时,我得到下面的错误(我在我的应用程序中使用log4j)。
slf4j已被取代了吗?
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.myspace.myname.myapp, PID: 1716
java.lang.NoClassDefFoundError: org.slf4j.MDC
at ch.qos.logback.classic.spi.LoggingEvent.getMDCPropertyMap(Unknown Source)
at ch.qos.logback.classic.spi.LoggingEvent.prepareForDeferredProcessing(Unknown Source)
at ch.qos.logback.core.OutputStreamAppender.subAppend(Unknown Source)
at ch.qos.logback.core.FileAppender.subAppend(Unknown Source)
at ch.qos.logback.core.rolling.RollingFileAppender.subAppend(Unknown Source)
at ch.qos.logback.core.OutputStreamAppender.append(Unknown Source)
at ch.qos.logback.core.UnsynchronizedAppenderBase.doAppend(Unknown Source)
at ch.qos.logback.core.spi.AppenderAttachableImpl.appendLoopOnAppenders(Unknown Source)
at ch.qos.logback.classic.Logger.appendLoopOnAppenders(Unknown Source)
at ch.qos.logback.classic.Logger.callAppenders(Unknown Source)
at ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Unknown Source)
at ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(Unknown Source)
at ch.qos.logback.classic.Logger.info(Unknown Source)
at com.myspace.myname.myapp.MainActivity.onCreate(MainActivity.java:89)
at android.app.Activity.performCreate(Activity.java:5451)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2377)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2471)
at android.app.ActivityThread.access$900(ActivityThread.java:175)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1308)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:146)
at android.app.ActivityThread.main(ActivityThread.java:5602)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
at dalvik.system.NativeStart.main(Native Method)
E/GAv4: Successfully bound to service but never got onServiceConnected callback
Disconnected from the target VM, address: 'localhost:8600', transport: 'socket'
答案 0 :(得分:0)
问题取决于您如何将依赖项添加到项目中。 例如:
a)您可以让Gradle为您处理:
dependencies {
compile 'org.slf4j:slf4j-android:1.6.1-RC1'
}
或者
b)您可以下载JAR并将其添加到libs文件夹并将依赖项添加到Gradle。我通常只是添加整个树,以避免添加"编译"每一行:
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
}