Android của bạn không cần phải có quyền truy cập root để thực sự vô hiệu hóa một ứng dụng, nếu bạn đã có phiên bản 4.4.x trở lên. Tất cả những gì bạn cần là thiết lập adb trong PC và gỡ lỗi USB được bật trong thiết bị chưa root hoặc ứng dụng giả lập thiết bị đầu cuối cho thiết bị đã root (bạn cũng có thể sử dụng adb).
Nếu bạn kiểm tra pm
sử dụng Gói Manger's ( ), bạn sẽ thấy
chặn chiều [--user USER_ID] PACKAGE_OR_COMPONENT ")
chiều bỏ chặn [--user USER_ID] PACKAGE_OR_COMPONENT ")
Đối với Lollipop, nó sẽ là
pm ẩn [--user USER_ID] PACKAGE_OR_COMPONENT ")
pm bỏ ẩn [--user USER_ID] PACKAGE_OR_COMPONENT ")
Để chặn hoặc ẩn gói (an toàn), chỉ cần làm
pm block PACKAGE # for KitKat
pm hide PACKAGE # for Lollipop
Để bỏ chặn hoặc bỏ ẩn gói, làm
pm unblock PACKAGE #for KitKat
pm unhide PACKAGE # for Lollipop
PACKAGE
→ tên gói của một ứng dụng. Để biết tên gói của ứng dụng:
Nối adb shell
trước lệnh để thực thi chúng từ PC.
Hàm ẩn đằng sau có nhận xét sau bên trong mã nguồn
Đặt gói ở trạng thái ẩn, gần giống như trạng thái được gỡ cài đặt, làm cho gói không khả dụng, nhưng nó không xóa dữ liệu hoặc tệp gói thực tế. Ứng dụng có thể được mở bằng cách đặt lại trạng thái ẩn hoặc cài đặt nó
Nhận xét tương tự được thực hiện cho khối ở đây .
Để xác minh khiếu nại, bạn có thể sử dụng một số dịch vụ hệ thống như meminfo
, procstats
và activity
sử dụng dumpsys công cụ hoặc thậm chí liệt kê tất cả các quá trình sử dụng ps
. Bạn sẽ không tìm thấy sự hiện diện tích cực của ứng dụng bị chặn / ẩn.
Điều tương tự cũng xảy ra với rất nhiều ứng dụng hệ thống bị vô hiệu hóa bằng GUI hoặc pm disable
nhưng không phải cho mọi ứng dụng vì ngay cả một ứng dụng bị vô hiệu hóa cũng có thể nhận được các chương trình phát sóng mà nó đã đăng ký, chỉ có thể được thực hiện nếu được tải vào bộ nhớ 1 . Tuy nhiên, một ứng dụng bị vô hiệu hóa không thể tự hoạt động, ứng dụng này cũng không thể được thực thi.
Tôi đã tranh luận một số khác biệt giữa ẩn / chặn và vô hiệu hóa trong câu hỏi chiều của tôi, ẩn VS pm vô hiệu hóa - cuộc khủng hoảng danh tính . Nó chỉ cung cấp thông tin bổ sung cho câu trả lời này để bạn có thể bỏ qua nó.
BIÊN TẬP:
Có vẻ như kỹ thuật này không hoạt động đối với tất cả các ứng dụng trên Android KitKat. Trong trường hợp đó, chỉ cần thu hồi quyền đọc từ APK của ứng dụng hoặc xóa phần mở rộng .APK khỏi tên tệp của ứng dụng (sau này được đề xuất bởi Jaskaranbir một lần), sau đó là khởi động lại mềm / đầy đủ. Điều này giống như xóa một ứng dụng khỏi hệ thống, chỉ khác là tất cả các tệp sẽ vẫn ở vị trí của chúng.
Cả hai bước có thể được thực thi bằng bất kỳ ứng dụng quản lý tập tin gốc nào. Cách dòng lệnh là:
adb shell su -c 'chmod 000 /data/app/PACKAGE*' # 000 means no read-write-executable permission to user,group and others.
adb shell su -c 'mv /data/app/PACKAGE* /data/app/PACKAGE' # doing renaming by moving the file
adb reboot
1: Thiếu bằng chứng kỹ thuật để hỗ trợ thực tế