0

Androidアプリケーション(IDE Eclipse)でログバック付きのslf4jを使用したい。Eclipseでパスをビルドするためにjarファイル(slf4j-api-1.7.1 logback-android-1.0.7-1.jar)をすでに追加しました。次の簡単なメインアクティビティを使用して、Advでアプリを起動しようとしています

import org.slf4j.Logger
import org.slf4j.LoggerFactory
public class MainActivity extends Activity{
    private static final Logger logger = 
              LoggerFactory.getLogger(MainActivity.class);
    private void onnCreate(Bundle svedInstanceState){
         super.onCreate(savedInstanceState) 
         logger.debug("MainActivity created");
    }
}

そして、logcatによってキャプチャされた次のエラーが発生します

10-02 16:03:46.911: I/dalvikvm(619): Could not find method org.slf4j.LoggerFactory.getLogger, referenced from method com.mbm.activity.MainActivity.<clinit>
10-02 16:03:46.911: W/dalvikvm(619): VFY: unable to resolve static method 3250: Lorg/slf4j/LoggerFactory;.getLogger (Ljava/lang/Class;)Lorg/slf4j/Logger;
10-02 16:03:46.941: I/dalvikvm(619): Could not find method org.slf4j.Logger.debug, referenced from method com.mbm.activity.MainActivity.onToggleClicked
10-02 16:03:46.941: W/dalvikvm(619): VFY: unable to resolve interface method 3248: Lorg/slf4j/Logger;.debug (Ljava/lang/String;)V
10-02 16:03:46.941: I/dalvikvm(619): Could not find method org.slf4j.Logger.info, referenced from method com.mbm.activity.MainActivity.onToggleClicked
10-02 16:03:46.941: W/dalvikvm(619): VFY: unable to resolve interface method 3249: Lorg/slf4j/Logger;.info (Ljava/lang/String;)V
10-02 16:03:46.951: W/dalvikvm(619): Exception Ljava/lang/NoClassDefFoundError; thrown while initializing Lcom/mbm/activity/MainActivity;
10-02 16:03:46.951: W/dalvikvm(619): Class init failed in newInstance call (Lcom/mbm/activity/MainActivity;)
10-02 16:03:46.951: W/dalvikvm(619): threadid=1: thread exiting with uncaught exception (group=0x40a13300)
10-02 16:03:46.961: E/AndroidRuntime(619): FATAL EXCEPTION: main
10-02 16:03:46.961: E/AndroidRuntime(619): java.lang.ExceptionInInitializerError
10-02 16:03:46.961: E/AndroidRuntime(619):  at java.lang.Class.newInstanceImpl(Native Method)
10-02 16:03:46.961: E/AndroidRuntime(619):  at java.lang.Class.newInstance(Class.java:1319)
10-02 16:03:46.961: E/AndroidRuntime(619):  at android.app.Instrumentation.newActivity(Instrumentation.java:1053)
10-02 16:03:46.961: E/AndroidRuntime(619):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1974)
10-02 16:03:46.961: E/AndroidRuntime(619):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
10-02 16:03:46.961: E/AndroidRuntime(619):  at android.app.ActivityThread.access$600(ActivityThread.java:130)
10-02 16:03:46.961: E/AndroidRuntime(619):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
10-02 16:03:46.961: E/AndroidRuntime(619):  at android.os.Handler.dispatchMessage(Handler.java:99)
10-02 16:03:46.961: E/AndroidRuntime(619):  at android.os.Looper.loop(Looper.java:137)
10-02 16:03:46.961: E/AndroidRuntime(619):  at android.app.ActivityThread.main(ActivityThread.java:4745)
10-02 16:03:46.961: E/AndroidRuntime(619):  at java.lang.reflect.Method.invokeNative(Native Method)
10-02 16:03:46.961: E/AndroidRuntime(619):  at java.lang.reflect.Method.invoke(Method.java:511)
10-02 16:03:46.961: E/AndroidRuntime(619):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
10-02 16:03:46.961: E/AndroidRuntime(619):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
10-02 16:03:46.961: E/AndroidRuntime(619):  at dalvik.system.NativeStart.main(Native Method)
10-02 16:03:46.961: E/AndroidRuntime(619): Caused by: java.lang.NoClassDefFoundError: org.slf4j.LoggerFactory
10-02 16:03:46.961: E/AndroidRuntime(619):  at com.mbm.activity.MainActivity.<clinit>(MainActivity.java:41)
10-02 16:03:46.961: E/AndroidRuntime(619):  ... 15 more

私を助けてください。

4

1 に答える 1

0

次の手順で問題を単独で解決しました。1)2つのjarファイルをプロジェクトの新しいフォルダーに配置します。2)ビルドパスにjarを追加します。3)Javaビルドパスの優先順位で、[注文とエクスポート]タブに入力し、2つのjarを選択して、[OK]を押します。4)プロジェクト->クリーン!! これらの手順の後、アプリはエラーなしで正常に実行されます!!

于 2012-10-03T08:43:56.887 に答える