1

テスト済みで、Android以外のプログラムで動作しますが、Androidで初期化するとすぐにクラッシュします。Logcatもエラーメッセージを生成していません。これはCircularFifoBufferから見つけました。

明らかな問題はありますか?

編集: jarファイルを(外部ではなく)libsフォルダーに追加してから、ビルドパスに追加すると、このエラーメッセージが表示されます。ただし、jarファイルを外部に追加した場合、このエラーは発生しません。

[2012-08-05 20:56:03 --wifiCollection] Dx警告:関連付けられたEnclosingMethod属性が付属していない匿名内部クラス(org.apache.commons.collections.SequencedHashMap $ 1)のInnerClasses属性を無視します。このクラスは、おそらく最新の.classファイル形式を対象としないコンパイラによって生成されました。推奨される解決策は、最新のコンパイラを使用し、「-target」タイプのオプションを指定せずに、ソースからクラスを再コンパイルすることです。この警告を無視した結果、このクラスに対するリフレクティブ操作は、それが内部クラスではないことを誤って示します。

Edit2

08-05 21:12:48.837:I // system / bin / batteryd(1189):1566474 v_bat 3.678(3.677)、i_supply 0.500、i_demand 0.282 => v_bat_idle 3.649(3.649)、レベル41%(41%、41% )、状態5

08-05 21:12:50.837:I // system / bin / batteryd(1189):1568477 v_bat 3.678(3.677)、i_supply 0.500、i_demand 0.282 => v_bat_idle 3.649(3.649)、レベル41%(41%、41% )、状態5

08-05 21:12:51.267:I / ActivityManager(1291):アクティビティの開始:インテント{act = android.intent.action.MAIN cat = [android.intent.category.LAUNCHER] flg = 0x10200000 cmp=com.jimmyc。 summer.wificollection / .WiFiLocationApp bnds = [245,418][355,553]}

08-05 21:12:51.337:I / dalvikvm(1374):Jit:JitTableのサイズを4096から8192に変更

08-05 21:12:51.353:I / ActivityManager(1291):アクティビティcom.jimmyc.summer.wificollection /.WiFiLocationAppのproccom.jimmyc.summer.wificollectionを開始します:pid = 1782 uid = 10045 gids = {1015}

08-05 21:12:51.634:D / dalvikvm(1782):GC_FOR_MALLOCは56ミリ秒で1571オブジェクト/198264バイトを解放しました

08-05 21:12:51.751:V / LocationManagerService(1291):_removeUpdates:listener = Receiver {45a6e008 Listener android.os.BinderProxy@45a6e4b8}

08-05 21:12:51.774:V /タグ付け(1782):アプリケーションの開始

08-05 21:12:51.774:V /タグ付け(1782):wifiをチェックしています

08-05 21:12:51.774:V /タグ付け(1782):新しいwifiModeの作成

08-05 21:12:51.782:E / dalvikvm(1782):メソッドcom.jimmyc.summer.wificollection.WiFiLocationApp$wifiModeから参照されるクラス'org.apache.commons.collections.buffer.CircularFifoBuffer'が見つかりませんでした。

08-05 21:12:51.782:W / dalvikvm(1782):VFY:Lcom / jimmyc / summer / wificollection / WiFiLocationApp $の新しいインスタンス575(Lorg / apache / commons / collections / buffer / CircularFifoBuffer;)を解決できませんwifiMode;

08-05 21:12:51.782:D / dalvikvm(1782):VFY:0x0032でオペコード0x22を置き換えます

08-05 21:12:51.782:D / dalvikvm(1782):VFY:Lcom / jimmyc / summer / wificollection / WiFiLocationApp$wifiMode;のデッドコード0x0034-0041。(Lcom / jimmyc / summer / wificollection / WiFiLocationApp;)V

08-05 21:12:51.790:I / dalvikvm(1782):メソッドcom.jimmyc.summer.wificollection.WiFiLocationApp$wifiMode.detectStableEnvironmentから参照されるメソッドorg.apache.commons.collections.buffer.CircularFifoBuffer.isFullが見つかりませんでした

08-05 21:12:51.790:W / dalvikvm(1782):VFY:仮想メソッド3504を解決できません:Lorg / apache / commons / collections / buffer / CircularFifoBuffer; .isFull()Z

08-05 21:12:51.790:D / dalvikvm(1782):VFY:0x0006でオペコード0x74を置き換えます

08-05 21:12:51.790:D / dalvikvm(1782):VFY:Lcom / jimmyc / summer / wificollection / WiFiLocationApp $ wifiMode; .detectStableEnvironment()Zのデッドコード0x0009-0230

08-05 21:12:51.790:I / dalvikvm(1782):メソッドcom.jimmyc.summer.wificollection.WiFiLocationApp$wifiMode.matchから参照されるメソッドorg.apache.commons.collections.buffer.CircularFifoBuffer.sizeが見つかりませんでした

08-05 21:12:51.790:W / dalvikvm(1782):VFY:仮想メソッドを解決できません3506:Lorg / apache / commons / collections / buffer / CircularFifoBuffer; .size()I

08-05 21:12:51.790:D / dalvikvm(1782):VFY:0x000fでオペコード0x74を置き換えます

08-05 21:12:51.790:D / dalvikvm(1782):VFY:Lcom / jimmyc / summer / wificollection / WiFiLocationApp $ wifiMode; .match()Zのデッドコード0x0012-0227

08-05 21:12:51.790:I / dalvikvm(1782):メソッドcom.jimmyc.summer.wificollection.WiFiLocationApp$wifiMode.processResultsから参照されるメソッドorg.apache.commons.collections.buffer.CircularFifoBuffer.addが見つかりませんでした

08-05 21:12:51.790:W / dalvikvm(1782):VFY:仮想メソッド3502を解決できません:Lorg / apache / commons / collections / buffer / CircularFifoBuffer; .add(Ljava / lang / Object;)Z

08-05 21:12:51.790:D / dalvikvm(1782):VFY:0x0020でオペコード0x6eを置き換えます

08-05 21:12:51.790:D / dalvikvm(1782):VFY:Lcom / jimmyc / summer / wificollection / WiFiLocationApp $ wifiMode; .processResults()Vのデッドコード0x0023-0050

08-05 21:12:51.790:D / dalvikvm(1782):VFY:Lcom / jimmyc / summer / wificollection / WiFiLocationApp $ wifiMode; .processResults()Vのデッドコード0x0074-00f0

08-05 21:12:51.798:W / dalvikvm(1782):VFY:署名で参照されているクラスが見つかりません(Lorg / apache / commons / collections / buffer / CircularFifoBuffer;)

08-05 21:12:51.798:I / dalvikvm(1782):メソッドcom.jimmyc.summer.wificollection.WiFiLocationApp$wifiMode.takeAverageから参照されるメソッドorg.apache.commons.collections.buffer.CircularFifoBuffer.iteratorが見つかりませんでした

08-05 21:12:51.798:W / dalvikvm(1782):VFY:仮想メソッドを解決できません3505:Lorg / apache / commons / collections / buffer / CircularFifoBuffer; .iterator()Ljava / util / Iterator;

08-05 21:12:51.798:D / dalvikvm(1782):VFY:0x001bでオペコード0x74を置き換えます

08-05 21:12:51.798:D / dalvikvm(1782):VFY:デッドコード0x001e-0419 in Lcom / jimmyc / summer / wificollection / WiFiLocationApp $ wifiMode; .takeAverage(Lorg / apache / commons / collections / buffer / CircularFifoBuffer ;)Ljava / util / Map;

08-05 21:12:51.798:W / dalvikvm(1782):VFY:署名で参照されているクラスが見つかりません(Lorg / apache / commons / collections / buffer / CircularFifoBuffer;)

08-05 21:12:51.798:V /タグ付け(1782):WiFiモードを開始しています

08-05 21:12:51.798:D / AndroidRuntime(1782):VMをシャットダウンしています

08-05 21:12:51.806:W / dalvikvm(1782):threadid = 1:キャッチされない例外でスレッドが終了します(group = 0x4001d8a8)

08-05 21:12:51.806:E / AndroidRuntime(1782):致命的な例外:メイン

08-05 21:12:51.806:E / AndroidRuntime(1782):java.lang.NoClassDefFoundError:org.apache.commons.collections.buffer.CircularFifoBuffer

08-05 21:12:51.806:E / AndroidRuntime(1782):com.jimmyc.summer.wificollection.WiFiLocationApp $ wifiMode。(WiFiLocationApp.java:182)

08-05 21:12:51.806:E / AndroidRuntime(1782):com.jimmyc.summer.wificollection.WiFiLocationApp.onResume(WiFiLocationApp.java:1272)

08-05 21:12:51.806:E / AndroidRuntime(1782):android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1149)

08-05 21:12:51.806:E / AndroidRuntime(1782):android.app.Activity.performResume(Activity.java:3823)で

08-05 21:12:51.806:E / AndroidRuntime(1782):android.app.ActivityThread.performResumeActivity(ActivityThread.java:3118)

08-05 21:12:51.806:E / AndroidRuntime(1782):android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3143)

08-05 21:12:51.806:E / AndroidRuntime(1782):android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2684)で

08-05 21:12:51.806:E / AndroidRuntime(1782):android.app.ActivityThread.access $ 2300(ActivityThread.java:125)

08-05 21:12:51.806:E / AndroidRuntime(1782):android.app.ActivityThread $ H.handleMessage(ActivityThread.java:2033)

08-05 21:12:51.806:E / AndroidRuntime(1782):android.os.Handler.dispatchMessage(Handler.java:99)で

08-05 21:12:51.806:E / AndroidRuntime(1782):android.os.Looper.loop(Looper.java:123)

08-05 21:12:51.806:E / AndroidRuntime(1782):android.app.ActivityThread.main(ActivityThread.java:4627)

08-05 21:12:51.806:E / AndroidRuntime(1782):java.lang.reflect.Method.invokeNative(ネイティブメソッド)で

08-05 21:12:51.806:E / AndroidRuntime(1782):java.lang.reflect.Method.invoke(Method.java:521)で

08-05 21:12:51.806:E / AndroidRuntime(1782):com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:868)

08-05 21:12:51.806:E / AndroidRuntime(1782):com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)

08-05 21:12:51.806:E / AndroidRuntime(1782):dalvik.system.NativeStart.main(ネイティブメソッド)

08-05 21:12:51.814:W / ActivityManager(1291):強制終了アクティビティcom.jimmyc.summer.wificollection / .WiFiLocationApp

08-05 21:12:52.009:D / dalvikvm(1291):GC_FOR_MALLOCは76msで11331オブジェクト/567768バイトを解放しました

08-05 21:12:52.314:W / ActivityManager(1291):HistoryRecord {457131f0 com.jimmyc.summer.wificollection/.WiFiLocationApp}のアクティビティ一時停止タイムアウト

08-05 21:12:52.314:D /センサー(1291):MMA7660FC加速度計を使用(名前= MMA7660FC加速度計)

08-05 21:12:52.321:D / Sensors(1291):get_orientation portait device

08-05 21:12:52.431:V / LocationManagerService(1291):_requestLocationUpdates:listener = Receiver {45711848 Listener android.os.BinderProxy@45a461c8}

08-05 21:12:52.840:I // system / bin / batteryd(1189):1570480 v_bat 3.678(3.677)、i_supply 0.500、i_demand 0.282 => v_bat_idle 3.649(3.649)、レベル41%(41%、41% )、状態5

public class test () {
    CircularFifoBuffer f1 = null;
    CircularFifoBuffer f2 = null;

    public test () {
        Log.v (TAG, "Starting...");
        try {
            f1 =  new CircularFifoBuffer(4);
            f2 = new CircularFifoBuffer(4);
        } catch (Exception e) {
            e.printStackTrace();
            Log.v (TAG, "Error: " +e);
        }
    }
}
4

2 に答える 2

2

ライブラリのjar依存関係を確認してください。何かが足りないかもしれません。(Androidの外部でテストしたと言うのは疑わしいです)。

jarは異なるバージョンのJavaでビルドされる可能性があるため、ソースからビルドする必要がある場合があります(Androidは7ではなくJava 6をサポートします)。

于 2012-08-06T03:59:11.763 に答える
2

logcatの出力から、クラスがapkに含まれていないようです。

08-05 21:12:51.782: E/dalvikvm(1782): Could not find class 'org.apache.commons.collections.buffer.CircularFifoBuffer', referenced from method com.jimmyc.summer.wificollection.WiFiLocationApp$wifiMode.<init>

Addは、ソースを取得し、それをプロジェクトに含めて、ビルド環境で再コンパイルするのが最善の策だと言います。

于 2012-08-06T04:14:59.683 に答える