มีคำสั่ง adb เพื่อเปิด / ปิดแอพระบบหรือไม่?
ขอบคุณ
มีคำสั่ง adb เพื่อเปิด / ปิดแอพระบบหรือไม่?
ขอบคุณ
คำตอบ:
ใช่. pm disable <package name>
คำสั่งคือ คุณต้องเป็นคนรูทเพื่อทำสิ่งนี้:
เปิดเชลล์และรับรูท:
PC> adb shell
shell@hammerhead:/ $ su
แสดงรายการแอพที่เปิดใช้งานทั้งหมดกรองตาม "เครื่องคิดเลข":
root@hammerhead:/ # pm list packages -e | grep 'calculator'
package:com.android.calculator2
ปิดการใช้งานแอพ:
root@hammerhead:/ # pm disable com.android.calculator2
Package com.android.calculator2 new state: disabled
แสดงรายการแอปที่ถูกปิดใช้งานทั้งหมด:
root@hammerhead:/ # pm list packages -d
package:com.android.calculator2
package:com.google.android.apps.inputmethod.hindi
package:jp.co.omronsoft.iwnnime.ml
package:com.google.android.inputmethod.pinyin
package:com.google.android.inputmethod.korean
package:com.google.earth
root@hammerhead:/ #
สิ่งอื่น ๆ ที่ควรค่าแก่การสังเกต:
pm enable <package name>
คุณสามารถเปิดใช้งานแอพพลิเคกับ ที่จริงแล้วนี่เป็นวิธีเดียวที่จะเปิดใช้งานได้อีกครั้งในประสบการณ์ของฉันManifest
หรือสิ่งที่ชอบ (ฉันไม่ใช่ Android dev ดังนั้นฉันจึงบอกไม่ได้)
นอกเหนือจากคำตอบโดย @eldarerathis คุณสามารถปิดการใช้งานแอพสำหรับผู้ใช้ที่เฉพาะเจาะจง ฉันใช้วิธีนี้เพื่อลบแอพบางตัวจากผู้ใช้ที่ถูก จำกัด ซึ่งไม่ได้อยู่ในรายการในหน้าจอการตั้งค่าผู้ใช้ adb shell
คำสั่งทั้งหมดจาก จำเป็นต้องเข้าถึงรูทเพื่อทำการเปลี่ยนแปลง
ประการแรกรับรหัสของผู้ใช้:
$ pm list users
Users:
UserInfo{0:Alice:13} running
UserInfo{11:Bob:18} running
แล้วก็
$ pm disable --user 11 com.cyanogenmod.filemanager
Package com.cyanogenmod.filemanager new state: disabled-user
เพื่อเปิดใช้งานอีกครั้ง
# pm enable --user 11 com.cyanogenmod.filemanager
ในตัวอย่างนี้ Alice สามารถใช้ตัวจัดการไฟล์ แต่ Bob ไม่สามารถทำได้
คุณสามารถทำสิ่งที่คล้ายกันกับแทนhide
disable
ฉันไม่แน่ใจว่าวิธีไหนดีที่สุด แต่ดูคำตอบนี้ การสนทนาhide
คือunhide
(อาจจำเป็นต้องรีบูตเพื่อให้เกิดผลunhide
)
pm list pacakges --user 11
คุณสามารถแสดงรายการแพ็กเกจ ให้-e
รายการแพคเกจที่เปิดใช้งานหรือ-d
ถ้าคุณต้องการที่จะเห็นคนพิการ ดูเหมือนจะไม่มีตัวกรองสำหรับแพ็คเกจที่ซ่อนอยู่
FWIW ฉันลองใช้ Lollipop กับ CM 12.1 ใน Amazon Fire (KFFOWI) ข้างต้น
สิ่งนี้จะทำงานได้ไม่ว่าแอพนั้นจะเป็นแอพระบบหรือแอพของบุคคลที่สาม (ติดตั้งโดยผู้ใช้)
ดูคำตอบของฉันที่กำหนดชื่อแพคเกจของแอพของคุณเพื่อรับชื่อแพ็กเกจของแอพที่เกี่ยวข้องและใช้adb shellเพื่อรันคำสั่งเหล่านี้ ( ต้องมีการเข้าถึงรูท ):
adb shell su pm ปิดใช้งาน PACKAGE # ปิดใช้งานแอปและซ่อนไว้ในการตั้งค่า -> แอปพลิเคชัน pm hide PACKAGE # ทางเลือก; สำหรับ Android Lollipop ขึ้นไป แพ็คเกจ cmd ระงับ PACKAGE # ทางเลือก; แพ็กเกจยังคงมองเห็นได้ในแอพ Launcher และ Settings แต่ไม่สามารถใช้ คุณลักษณะของการดูแลอุปกรณ์
PACKAGE
อ้างถึงชื่อแพ็คเกจของแอป
หากต้องการคืนสถานะแอปให้แทนที่ปิดการใช้งานด้วยการเปิดใช้งานซ่อนด้วยเลิกซ่อนและระงับด้วยการยกเลิกการระงับในคำสั่งที่กล่าวและดำเนินการด้วยสิทธิ์พิเศษ
หากคุณใช้ Android KitKat ขึ้นไปและไม่สามารถเข้าถึงรูทได้ให้ใช้adbในพีซีเพื่อรันคำสั่งนี้:
adb shell pm block PACKAGE # สำหรับ Android KitKat adb shell pm hide PACKAGE # สำหรับ Android Lollipop เท่านั้น adb shell pm แพ็คเกจผู้ใช้ปิดการใช้งาน # ทางเลือกเพื่อ `pm hide`; สำหรับ Android Lollipop และสูงกว่า; การทำงานเช่นเดียวกับการปิดการใช้งานแอพผ่านการตั้งค่า
วิธีคืนสถานะแอปให้ทำดังนี้
adb shell pm ยกเลิกการปิดกั้น PACKAGE # สำหรับ Android KitKat adb shell pm ยกเลิกการซ่อนแพคเกจ # สำหรับ Android Lollipop และเฉพาะในกรณีที่คุณใช้ 'pm hide' ก่อนหน้านี้ adb shell pm เปิดใช้งาน PACKAGE # สำหรับ Android Lollipop และสูงกว่า
การเปลี่ยนแปลงจะเกิดขึ้นทันที