簡體   English   中英

如何完全卸載Android系統應用程序?

[英]How to completely uninstall an Android system app?

我正在開發一個Android系統應用程序。 要卸載它,僅從system/app刪除APK有時不會刪除其共享首選項。

那么,什么完全卸載系統應用程序,以確保它刪除與此應用程序相關聯的所有東西的正確方法是什么?

看來您是在有根設備上執行此操作。 因此,以下命令將完成您的任務:

adb shell rm /system/app/APK_NAME.apk      // Removes apk file from /system/app/ location
adb shell pm clear com.yourapp.packagename // Removes application data

它可能需要root權限,因此在運行上述命令之前,應運行以下命令以獲取root特權:

adb root
adb remount

然后運行以上命令。

這是一種刪除/卸載(不是從手機中恢復出廠設置的方法)的方法,幾乎​​沒有root包含系統應用程序的任何應用程序(提示:煩人的更新應用程序是否會更新您的電話線路,通常可以通過grepping找到)對於“ ccc”)

為此,您需要:

  1. 安裝了adb
  2. 開啟USB調試

    一種。 在電話中轉到設置->系統->關於電話->在“內部版本號”上快速點擊7次

    在電話中轉到設置->系統->開發人員選項

    C。 在“調試”下,打開“ USB調試”

  3. 通過USB電纜將手機連接到

以下示例終止了總統警報應用程序:

adb shell pm uninstall --user 0 com.android.cellbroadcastreceiver

它看起來像這樣:

$ adb shell pm uninstall --user 0 com.android.cellbroadcastreceiver
Success

要查看用戶運行:

adb shell pm list users

您將看到以下內容:

$ adb shell pm list users                                                
Users:
     UserInfo{0:Owner:13} running

第一個數字“ 0”是用戶ID號,然后用“:”分隔,接着是用戶的“名稱”或用戶名(上面的示例是“所有者”),然后是另一個“:”組號(13)。 您只需要用戶號/ UID“ 0”。 很少看到一個以上的用戶。 Android操作系統可以支持1個以上的用戶,但是我還沒有看到它的使用。 可能有幾個應用可能會收到“失敗”的響應,但有95%以上的用戶會看到“成功”。

要列出您可以運行的所有應用程序:

$ adb shell pm list packages [-f]

-f開關用於“完整”列表,其輸出格式為:package://.apk=com.app.name,其中“ package:”始終始終緊跟其后是應用apk文件的完整路徑,緊隨其后的是“ =”,然后是帶點符號的應用名稱-請注意,“ =”的左側/右側沒有空格。 下面是一個示例:

package:/system/priv-app/MmsService/MmsService.apk=com.android.mms.service
package:/data/app/aws.apps.netPortDb-1/base.apk=aws.apps.netPortDb
package:/oem/priv-app/Ignite/Ignite.apk=com.LogiaGroup.LogiaDeck

您會注意到有3個起始目錄[/ system,/ data,/ oem]。系統應用程序通常以/ system開頭; 您安裝的應用通常以/ data開頭; 和通過您獲得電話的人(VZW,ATT等)強制安裝的應用通常以/ oem開頭。 盡管並非如此,但100%的時間是iOS放置應用程序的方式。

暫無
暫無

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

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