2012-03-12 4 views
5

Android DDMSファイルエクスプローラでデータ、mnt、およびシステムディレクトリのみが表示されるのはなぜですか?私は「adbのシェルのls -l」私はいくつかの掘削を行なったし、ADTのファイルエクスプローラビューは、それの内部Android DDMSファイルエクスプローラで3つのディレクトリしか表示されないのはなぜですか?

com.android.ddmlib.FileListingService 

をという名前のクラスによって制限されていることがわかっ

+0

正確にどのデータをお探しですか? –

+0

1つの例はキャッシュディレクトリです。 – user1265015

答えて

2

、あなたは意志実行すると、他のディレクトリとファイルがあります。承認されたトップレベルのディレクトリのリストを参照してください。

/** Top level data folder. */ 
public final static String DIRECTORY_DATA = "data"; //$NON-NLS-1$ 
/** Top level sdcard folder. */ 
public final static String DIRECTORY_SDCARD = "sdcard"; //$NON-NLS-1$ 
/** Top level mount folder. */ 
public final static String DIRECTORY_MNT = "mnt"; //$NON-NLS-1$ 
/** Top level system folder. */ 
public final static String DIRECTORY_SYSTEM = "system"; //$NON-NLS-1$ 
/** Top level temp folder. */ 
public final static String DIRECTORY_TEMP = "tmp"; //$NON-NLS-1$ 
/** Application folder. */ 
public final static String DIRECTORY_APP = "app"; //$NON-NLS-1$ 

private final static String[] sRootLevelApprovedItems = { 
    DIRECTORY_DATA, 
    DIRECTORY_SDCARD, 
    DIRECTORY_SYSTEM, 
    DIRECTORY_TEMP, 
    DIRECTORY_MNT, 
}; 

その後、このリストが参照され、それが承認されたリストにある場合は、Eclipseのファイルエクスプローラでそれが表示されます。

  // if the parent is root, we only accept selected items 
      if (mParentEntry.isRoot()) { 
       boolean found = false; 
       for (String approved : sRootLevelApprovedItems) { 
        if (approved.equals(name)) { 
         found = true; 
         break; 
        } 
       } 

       // if it's not in the approved list we skip this entry. 
       if (found == false) { 
        continue; 
       } 
      } 

したがって、デバイスの内容全体を調べたい場合は、そのコードブロック全体を削除して、すべての最上位ディレクトリを承認するようにコードを変更することができます。その後、カスタムADTプラグインを再コンパイルしてインストールする必要があります。

adb shell ls -l 

が、その後、あなたのAndroidデバイスへのターミナルのようなものである低レベルの殻に入っている:あなたは、コマンドを実行さらに

、。このレベルでのフィルタリングはありません。

関連する問題