簡體   English   中英

如何從設備上的命令行卸載 Android 應用程序

[英]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 }')

這將找到已卸載包的.apkpm 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 )並且無法在沒有訪問adbpm默認非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>

結果,當您有幾個啟動器時,您會從啟動器列表中隱藏此系統啟動器(系統應用程序)

如果您有一個有 root 權限的 Android 設備,那么您可以輕松地從您的設備中卸載預安裝的應用程序。 我的 OnePlus 設備植根於 Magisk 管理器。

生根 Android 設備為您提供設備的管理員權限,因此您可以輕松安裝或卸載任何系統應用程序。

但是,命令行方法在大多數情況下也有效。 我已經在 MIUI 設備上測試了 adb 方法來刪​​除英國媒體報道。

您可以按照stackover flow閱讀此線程....

ADB 命令: pm uninstall -k <package_name>

從設備中刪除任何應用程序的簡單命令,試試這個:

pm uninstall --user 0

此命令將從設備中強制刪除該應用程序。

嘗試使用 adb 命令:

adb uninstall <package-name>

確保您的設備已連接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM