如何通過 ADB 授予和撤銷 Android 權限

要點

授予、撤銷、清除和重置權限的命令。

  • 授予: adb shell pm grant [package-name] [permission-name]
  • 撤銷: adb shell pm revoke [package-name] [permission-name]
  • 清除: adb shell pm clear [package-name]
  • 重置: adb shell pm reset-permissions [package-name]

Android 應用程序需要特定權限才能運行。雖然大多數 Android 應用程序要求基本權限,但有些應用程序可能會請求更高級別的權限。在授予權限請求之前,我們必須仔細審查權限請求,因為不必要的權限可能會損害我們的隱私和安全。我們應該質疑為什麼應用程序需要特定的權限,並考慮它是否與其功能相符。本教程將探討各種 ADB 命令來授予、撤銷和裝置.

了解權限的工作原理以及它們如何影響您的設備至關重要。應用程序權限分為不同的組:“正常”、“危險”和“特殊”。普通權限不會危及設備的安全或隱私,但危險和特殊權限需要明確的用戶批准才能授予。您還可以使用 ADB Shell 命令來打印。

adb shell pm list permissions -d -g

上述命令將在終端窗口中給出“危險組權限”的完整列表。以下 ADB 命令將獲取特定應用程序可能請求的權限列表(允許和不允許)以及是否已授予該權限。

adb shell appops get <package-name>

您可以通過設備設置中的權限管理器以及使用 ADB 從計算機授予 Android 權限。下面,我們將檢查兩者。

通過權限管理器授予權限

為了確保用戶的隱私和安全,Android 允許我們控制應用程序權限。以下是如何通過權限管理器向 Android 上的應用程序授予權限。

  1. 打開設定在您的 Android 設備上,導航至安全和隱私,並點擊它。
  2. 查找您要授予應用程序的權限並選擇它。
  3. 您將獲得使用特定權限的所有應用程序的列表。
  4. 點擊您想要允許的應用程序並選擇允許或者僅在使用應用程序時允許

使用 ADB 授予 Android 權限的步驟

借助 ADB 命令,您可以更好地控制 Android 設備上的應用程序權限,而無需瀏覽設置菜單。使用 ADB,您可以單獨甚至批量授予應用程序權限。為了能夠執行命令,您必須在您的計算機上並授權 ADB。

  1. 導航至“平台工具' 文件夾並啟動帶有其路徑的 PowerShell 窗口。
  2. 前往設置 > 顯示在您的設備上,將屏幕超時時間延長至 5 分鐘,然後通過 USB 電纜將其連接到您的 PC。
  3. 現在在 PowerShell 中鍵入以下命令並按 Enter 執行它。根據要求允許在您的設備上進行 USB 調試。您將在連接設備列表下的命令窗口中獲取設備 ID 或序列號。
    adb devices
  4. 接下來,執行以下命令。
    adb shell
  5. 現在,按照給定格式在 $ 符號後執行以下命令,以向應用程序授予 Android 權限。
    pm grant [package-name] [android-permission-name]
  6. 找到你想授予權限。
  7. 現在,按照給定格式在 $ 符號後執行以下命令,以向應用程序授予 Android 權限。
  8. 例如,如果您想授予 Chrome 瀏覽器訪問您的精確位置的權限,請使用以下命令。
    pm grant com.android.chrome android.permission.ACCESS_FINE_LOCATION
  9. 就是這樣。您已使用 ADB 命令成功授予 Android 權限。

撤銷Android權限

由於各種原因,可能需要撤銷權限。這可能是由於隱私問題或應用程序行為不當造成的。您可以通過設備設置中的權限管理器撤銷 Android 上的應用程序權限。由於您無法通過設置禁用 Android 設備上的所有權限,因此在某些情況下可能需要使用 ADB 命令。

通過權限管理器

  1. 打開設定並前往隱私和安全 > 更多隱私設置在您的 Android 手機上。
  2. 滾動到權限管理器並打開它。
  3. 您將看到所有 Android 權限的列表。
  4. 選擇您要從應用程序撤銷的權限。
  5. 點擊應用程序並選擇不允許撤銷特定權限。

通過 ADB 撤銷、清除和重置權限

當您向應用程序授予特定權限時,它們將存儲在系統分區上名為“packages.xml”的文件中。此文件包含有關已被授予特定權限的所有應用程序的信息。當您通過 ADB 撤銷權限時,此文件將更新為新的權限狀態。現在,讓我們深入了解通過 ADB 撤銷單個、多個或所有 Android 權限的步驟。

撤銷單個權限

  1. 在您的 PC 上打開 PowerShell 窗口。
  2. 通過兼容的 USB 電纜連接您的 Android 設備,並延長設備上的屏幕超時時間,以便在執行 ADB 命令時屏幕不會被鎖定。
  3. 使用以下命令驗證 ADB 是否可以檢測到您的設備:
    adb devices
  4. 現在執行adb shell命令。
  5. 在“$”符號後鍵入以下命令,然後按 Enter。
    pm revoke [package-name] [android-permission-name]
  6. 例如,要撤銷 Facebook 應用程序的相機權限,請使用上述命令。
    pm revoke com.facebook.katana android.permission.CAMERA
  7. 該權限將從 Android 應用程序中撤銷。

一次撤銷多個權限

以下是如何使用 ADB 通過單個命令撤銷 Android 應用程序的多個權限。

打開 PowerShell 窗口並執行以下 ADB 命令以編程方式撤銷多個 Android 權限。

adb shell pm revoke [package-name] [android-permission name] [android-permission name]

以下是從 Facebook 撤銷相機和聯繫人權限的示例:

pm revoke com.facebook.katana android.permission.CAMERA android.permission.READ_CONTACTS

重置並清除所有權限

在 PowerShell 或終端窗口中執行以下命令以清除應用程序包,從而立即撤銷其所有權限。

adb shell pm clear [package-name]

系統應用程序通常具有預先授予的默認權限,無法通過禁用應用程序等常規方式撤銷這些權限。要撤銷這些權限,可以使用以下命令:

adb shell pm reset-permissions [package-name]

因此,要清除 Facebook 應用程序的所有權限,請使用以下命令。不要忘記將包名稱替換為您的應用程序的名稱。

adb shell pm reset-permissions com.facebook.katana
adb shell pm clear com.facebook.katana

在 Android 設備上授予和撤銷權限可以幫助您管理應用程序訪問並保護您的隱私和設備安全。我希望本教程可以幫助您更好地理解和管理 Android 權限。