Câu trả lời:
Sử dụng các ứng dụng thị trường như Quyền giám sát hoặc Quyền . Ngoài ra, có một số người khác.
Ứng dụng thân thiện với quyền sẽ liệt kê các ứng dụng đã cài đặt theo thứ tự yêu cầu cấp phép đòi hỏi khắt khe nhất. (Tuy nhiên, nó không thực sự theo dõi hoặc kiểm toán hoặc điều chỉnh hành vi của họ.)
Vì không có phiên bản Android nào được đề cập trong câu hỏi, tôi đang đề xuất câu trả lời dựa trên dòng lệnh có liên quan đến phiên bản Android 4.2.1 trở lên. Điều này lý tưởng là một giải pháp độc lập với hệ điều hành, đó là hệ điều hành trên PC.
Yêu cầu bận rộn nhị phân. Nếu thiết bị đã được root, hãy cài đặt ứng dụng Busybox . Khác, tải xuống tệp nhị phân busybox từ nguồn chính thức , đổi tên nhị phân thành busybox , đặt quyền thực thi tương thích Linux cho nhị phân đó cho mọi người và chuyển nó vào thiết bị bằng cách sử dụng
adb push LOCAL_FILE /data/local/tmp/ # LOCAL_FILE is the file path where busybox binary is located in PC
Yêu cầu nhị phân aapt . Nếu bạn đang chạy CM hoặc ROM phái sinh của nó thì hãy bỏ qua yêu cầu này. Mặt khác, đối với Android 4.x, bạn có thể xem xét tải xuống tệp nhị phân từ đây , đổi tên nhị phân thành aapt , đặt quyền thực thi tương thích Linux trên tệp nhị phân đó cho mọi người và chuyển nó vào thiết bị bằng cách sử dụng
adb push LOCAL_FILE /data/local/tmp/ # LOCAL_FILE is the file path where busybox binary is located in PC .
Đối với người dùng Android 5.x, hãy yêu cầu Google hỗ trợ.
Đây là kịch bản nhỏ của tôi làm điều kỳ diệu:
#! / hệ thống / thùng / sh # Kiểm tra xem nhị phân busybox có tồn tại dưới / data / local / tmp / hoặc / system / xbin không. Đặt đường dẫn nhị phân được phát hiện vào busybox biến hoặc thoát nếu tệp không tồn tại hoặc không cho phép thực thi [[-x / data / local / tmp / busybox]] && busybox = / data / local / tmp / busybox || {[[-x / system / xbin / busybox]] && busybox = / system / xbin / busybox || {printf "không tìm thấy nhị phân busybox hoặc quyền thực thi. Thoát \ n" && exit; }; } # Kiểm tra xem nhị phân aapt có tồn tại dưới / data / local / tmp hoặc / system / bin hoặc / system / xbin không. Đặt đường dẫn nhị phân được phát hiện vào biến aapt hoặc exit nếu tệp không tồn tại hoặc không cho phép thực thi [[-x / data / local / tmp / aapt]] && aapt = / data / local / tmp / aapt | | {[[-x / system / bin / aapt]] && aapt = / system / bin / aapt || {[[-x / system / xbin / aapt]] && aapt = / system / xbin / aapt || {printf "không tìm thấy quyền nhị phân aapt hoặc quyền thực thi. Thoát \ n" && exit; }; }; } # Liệt kê tên gói của tất cả các ứng dụng đã cài đặt và lưu chúng trong tệp tests.txt trong / sdcard danh sách các gói | $ busybox sed 's / ^ gói: // g' | $ busybox sort -o /sdcard/packages.txt # Đối với mỗi tên gói trong đầu ra chúng tôi vừa lưu, hãy lấy nhãn của ứng dụng bằng cách sử dụng $ path và $ nhãn, in một dòng và cuối cùng liệt kê các quyền được cấp cho ứng dụng trong khi đọc dòng; làm path = $ (pm đường dẫn $ line | $ busybox sed 's / ^ gói: // g'); nhãn = $ ($ aapt d badging $ path | $ busybox grep 'application: nhãn =' | $ busybox cut -d "'" -f2); $ busybox printf "Quyền cho ứng dụng $ nhãn có tên gói $ line \ n"; gói dumpsys $ line | $ busybox sed -e '1, / cấpPermissions: / d' -e '/ ^ \ s * $ /, $ d' | $ busybox sắp xếp; $ busybox printf "\ n"; xong </sdcard/packages.txt
Đầu ra demo:
Quyền cho ứng dụng DisableService có tên gói cn.wq.disableservice ERIC.READ_EXTERNAL_STORAGE ERIC.WRITE_EXTERNAL_STORAGE Quyền cho ứng dụng Xecure không đứng đắn có tên gói co.vanir.indecentxposeure ERIC.RECEIVE_BOOT_COMPLETED Quyền cho ứng dụng Thẻ có tên gói com.android.apps.tag ERIC.CALL_PHONE ERIC.NFC ERIC.READ_CONTACTS ERIC.WAKE_LOCK ERIC.WRITE_SECURE_SettING ... ... Quyền cho ứng dụng Chủ đề Nhà cung cấp có tên gói org.cyanogenmod.theme.provider ERIC.ACCESS_NOTIFICATION ERIC.ACCESS_THEME_MANAGER ERIC.INTERNET ERIC.READ_THEMES ERIC.WRITE_SECURE_SettING ERIC.WRITE_SettING ERIC.WRITE_THEMES
Lưu tập lệnh trong PC vào một tệp có tên perm_script.sh
và di chuyển nó vào / sdcard bằng cách sử dụng
adb push LOCAL_FILE /sdcard/ # LOCAL_FILE is the path where you saved that file into PC
Chạy tập tin đó
adb shell sh /sdcard/perm_script.sh > OUTPUT_FILE # OUTPUT_FILE is the path where you want to save the final output
Các ứng dụng được cài đặt trong hệ thống càng lớn thì thời gian để lệnh hoàn thành thực thi càng lớn. Trong thiết bị của tôi, mất khoảng ba phút.
Liên quan: Có cách nào để tìm tất cả các ứng dụng đã cài đặt có quyền truy cập vào tính năng điện thoại không?