[英]How to uninstall an android app from command line on the device
我可以使用adb uninstall <package_name>
從我的計算機adb uninstall <package_name>
設備上的應用程序,但我想對實際設備上的腳本執行相同的操作。
我還嘗試使用am
運行android.intent.action.DELETE
意圖,但它會提示用戶進行確認。
鑒於設備已植根,是否可以在設備上運行命令來卸載應用程序而無需用戶操作/確認?
嘗試使用pm
命令:
pm uninstall <package_name>
要么
pm uninstall -k <package_name>
-k
標志在刪除包后保留數據和緩存目錄。
我自己沒有測試過,但我認為這不應該顯示警告消息。
強制卸載系統用戶應用程序:
采用:
adb shell pm uninstall --user 0 <package_name>
adb shell pm uninstall *your.package.name*
對我有用。
如果您想重新安裝為用戶刪除的回包(即pm uninstall --user 0
),而無需 root:
pm install --user 0 $(pm dump <package name> | awk '/path/{ print $2 }')
這將找到已卸載包的.apk
: pm dump <package name>
並搜索以path:
開頭的行以獲取.apk
路徑(請注意, pm path <package>
不適用於已卸載的應用程序)和使用pm install --user 0
安裝它(請注意,沒有--user
參數的pm install
不起作用)。
這適用於任何系統應用程序,這是pm disable-user <package>
一個很好的替代方案,它仍然允許您通過設置輕松啟用應用程序。 例如,您可以卸載 Play 商店( pm uninstall --user 0 com.android.vending
)並且無法在沒有訪問adb
或pm
默認非root設備上啟用/安裝任何應用程序。
有些應用程序無法卸載,所以下面的命令給出了錯誤:
adb shell pm uninstall package_name Failure [DELETE_FAILED_INTERNAL_ERROR]
嘗試改為運行禁用命令,
adb shell pm disable package_name Package package_name new state: disabled
我在卸載某些系統啟動器(例如 NovaLauncher)時失敗了在這種情況下,我建議使用“禁用”而不是“卸載”:
pm disable <package_name>
結果,當您有幾個啟動器時,您會從啟動器列表中隱藏此系統啟動器(系統應用程序)
從設備中刪除任何應用程序的簡單命令,試試這個:
pm uninstall --user 0
此命令將從設備中強制刪除該應用程序。
嘗試使用 adb 命令:
adb uninstall <package-name>
確保您的設備已連接
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.