Tại sao Android DDMS File Explorer chỉ hiển thị thư mục dữ liệu, mnt và hệ thống? Có các thư mục và các file khác nếu tôi thực hiện "ls adb shell -l"Tại sao Android DDMS File Explorer chỉ hiển thị 3 thư mục?
5
A
Trả lời
2
tôi đã làm một số đào và thấy rằng quan điểm File Explorer ADT được giới hạn bởi một lớp có tên
com.android.ddmlib.FileListingService
Bên trong nó, bạn sẽ nhìn thấy một danh sách các thư mục cấp cao nhất đã được phê duyệt:
/** 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,
};
Sau đó, danh sách này được tư vấn và nếu nó nằm trong danh sách đã được phê duyệt, bạn sẽ thấy nó trong file Explorer trong 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;
}
}
Vì vậy, nếu bạn muốn khám phá toàn bộ nội dung của thiết bị, bạn có thể thay đổi mã để phê duyệt tất cả các thư mục cấp cao nhất bằng cách xóa toàn bộ khối mã đó. Sau đó, bạn phải biên dịch lại và cài đặt trình cắm thêm ADT tùy chỉnh của bạn.
Hơn nữa, khi bạn thực hiện lệnh:
adb shell ls -l
sau đó bạn đang đi vào một vỏ ở mức độ thấp có nghĩa là giống như một thiết bị đầu cuối vào thiết bị Android của bạn. Không có bộ lọc nào như vậy ở cấp độ này.
Dữ liệu nào bạn đang tìm kiếm chính xác? –
Một ví dụ có thể là thư mục bộ nhớ cache. – user1265015