3

2 つの問題がありますが、まず最初に:
Dell Inspiron M5030: AMD Athlon II P360
Windows 7 Ultimate 32bit SP 1
Android ADT 21.0.1-543035
org.eclipse.platform.ide 3.8.0-I20120608-1200
エミュレーター:
4.0" WVGA (480x800:hdpi)
Android 4.2 (API 17)
armeabi-v7a
RAM:512、VM ヒープ:16
内部ストレージ: 600MB
SDCard サイズ 128MB、ホスト GPU を使用

私のアクティビティの onCreate には、次の行があります。

super.onCreate(savedInstanceState);
if (BuildConfig.DEBUG) {
        Log.i(Constants.TAG_ACTSPLASH, "onCreate() Method called.");
        Debug.startMethodTracing("actsplash");
}

私のアクティビティの onDestroy には、次の行があります。

super.onDestroy();
    if (BuildConfig.DEBUG) {
            Log.i(Constants.TAG_ACTSPLASH, "onDestroy()");
            Debug.stopMethodTracing();
    }

問題番号 1: デバッグ モードでは、onCreate が呼び出された後、Logcat は次のように述べています。

davlikvm: Unable to open trace file '/mnt/sdcard/actsplash.trace': Permission denied

注: 私の Epic4G (Android 4.2) で apk を実行すると、トレース ファイルが作成されます。

問題 2: Epic4G から抽出されたトレースファイルを処理できません。(1) traceview を実行すると、次のエラーが表示されます。

The standalone version of traceview is deprecated. Please use Android Device Monitor (tools/monitor) instead. trace file './actsplash.trace' not found

(2) ADM ('%SDK%/tools/monitor.bat') を実行し、トレース ファイルをロードすると、次のようになります。

Failed to read the stack trace.

この記事には、キー ファイルに関する記述がありますが、それが不足しているのでしょうか。どんな助けでも大歓迎です!

4

3 に答える 3

2

最初の問題は、アプリにWRITE_EXTERNAL_STORAGE権限を追加して、/sdcardに書き込めるようにすることで修正できます。または、プライベートアプリのデータストレージ領域でトレースファイルのファイル名を明示的に指定し、そこからファイルをプルします。

2番目の問題は、最初の問題の直接の結果である「トレースファイルが見つかりません」です。3番目の問題は、2番目の問題のバリエーションのようです。

トレースファイル自体は、以前は「キー」ファイルと「データ」ファイルに分割されていましたが、かなり前にそれらが1つの.traceファイルに結合されていました。

于 2013-01-29T19:04:05.323 に答える
0

問題は 4.2 エミュレータにあるようです。4.1 エミュレーターはトレース ファイルを処理し、(4.2 エミュレーターとは異なり) ファイルをプルして ADM (Android Debug Monitor) にロードすることができました。

于 2013-01-31T02:39:41.893 に答える
0

問題番号 2 の場合: Traceview は相対パスを解決できません。「C:/」で始まるトレースファイルへのフル パスを指定する必要がありました (ベース名のみを使用)。

http://www.talkandroid.com/android-forums/android-games-applications/509-traceview-cant-find-trace-file.html

于 2014-10-31T13:42:40.430 に答える