Я немного покопался и обнаружил, что представление File Explorer в ADT ограничено классом с именем
com.android.ddmlib.FileListingService
Внутри вы увидите список утвержденных каталогов верхнего уровня:
/** 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-устройства. На этом уровне такой фильтрации нет.