列出package 大小

du -sh /data/app/*

列出大小並且排序


su -c "du -k -d 1 /data/ | sort -nr"

android 用 adb 列出安裝程式,移除程式
你可以使用 ADB(Android Debug Bridge)來列出已安裝的應用程式,並移除指定的應用。以下是常用指令:

📋 列出已安裝的應用程式

bash

adb shell pm list packages
  • 列出所有安裝的套件名稱(package name)。

  • 加上參數可以過濾:

    • 系統應用:adb shell pm list packages -s

    • 使用者安裝:adb shell pm list packages -3

    • 關鍵字過濾:adb shell pm list packages | grep keyword

🗑️ 移除指定應用程式

bash

adb shell pm uninstall <package_name>
  • 例如移除 Facebook:
    bash
    adb shell pm uninstall com.facebook.katana
    
  • 如果是系統應用(需 root 或使用 --user 0):
    bash
    adb shell pm uninstall --user 0 <package_name>
    

🔍 查找 package name 的方式

如果你不知道應用的 package name,可以:

  1. 使用 adb shell pm list packages | grep appname
  2. 或者先安裝應用,然後用 adb shell dumpsys package 查找詳細資訊。

如何查看 package佔用空間?

你可以使用 ADB 指令來查看 Android 裝置上某個應用程式(package)所佔用的空間。以下是幾種方法:

📦 查看單一應用的空間使用情況

bash

adb shell dumpsys package <package_name>
  • 這個指令會輸出大量資訊,包括安裝路徑、使用者資料路徑、cache 路徑等。
  • 雖然不會直接顯示空間大小,但你可以根據路徑手動查詢。

📊 精確查看空間大小(推薦)

bash

adb shell du -sh /data/data/<package_name>
adb shell du -sh /data/app/<package_name>*
adb shell du -sh /sdcard/Android/data/<package_name>
  • /data/data/:應用的資料目錄(設定、資料庫等)
  • /data/app/:APK 安裝檔案
  • /sdcard/Android/data/:外部儲存空間使用(如快取)

    注意:部分路徑需要 root 權限才能存取。

🧹 額外:查看所有 package 的空間使用(需 root)

bash

adb shell pm path <package_name>
adb shell ls -l <APK 路徑>

或使用:
bash

adb shell du -sh /data/app/*

這會列出所有安裝 APK 的大小。

adb如何安裝 app

你可以使用 ADB 安裝 APK 檔案到 Android 裝置,以下是完整步驟與指令:

📱 安裝 APK 到 Android 裝置

1. 確保裝置已連接並開啟 USB 偵錯

  • 在 Android 裝置上啟用「開發者選項」→ 開啟「USB 偵錯」
  • 使用 USB 或 Wi-Fi 連接裝置

2. 確認裝置已連線

bash

adb devices
  • 若看到裝置序號,表示連線成功

3. 安裝 APK 檔案

bash

adb install <path_to_apk>

例如:
bash

adb install myapp.apk

4. 強制重新安裝(覆蓋舊版本)

bash

adb install -r myapp.apk

5. 安裝到特定使用者(例如使用者 0)

bash

adb install --user 0 myapp.apk

🧪 檢查安裝結果

安裝成功會顯示:
Code

Success

失敗可能會顯示:
Code

INSTALL_FAILED_VERSION_DOWNGRADE
INSTALL_FAILED_INVALID_APK

這些錯誤通常與簽章、版本號或裝置相容性有關。
需要我幫你寫一個自動化批次腳本來安裝多個 APK 嗎?或者你想在 CI/CD 中整合這個流程?

指定安裝到特定的儲存目錄

在 Android 上使用 ADB 安裝 APK 時,無法直接指定任意的儲存目錄。安裝位置是由 Android 系統根據裝置的儲存策略自動決定的。不過,你可以透過以下方式影響應用的安裝位置:

📍 1. 使用 -s 參數安裝到 SD 卡(僅限支援的應用)

bash

adb install -s myapp.apk
  • -s 表示嘗試將應用安裝到「外部儲存」(通常是 SD 卡或模擬 SD 卡)。
  • 前提條件
    • APK 的 AndroidManifest.xml 中必須包含:
      xml
      <manifest ... android:installLocation="preferExternal" ... >
      
    • 裝置必須支援將應用安裝到外部儲存。

⚙️ 2. 修改預設安裝位置(不建議長期使用)

你可以暫時更改裝置的預設安裝位置:
bash

adb shell pm set-install-location 2
  • 0 = 自動(預設)
  • 1 = 僅內部儲存
  • 2 = 僅外部儲存

    ⚠️ 警告:這可能導致某些應用無法正常運作,請小心使用。
    查詢目前設定:
    bash

adb shell pm get-install-location

📦 3. 使用 pm install 搭配路徑(進階用法)

如果你已經將 APK 推送到裝置上(例如 /sdcard/Download/myapp.apk),可以這樣安裝:
bash

adb shell pm install /sdcard/Download/myapp.apk

但這仍然無法指定安裝到任意資料夾,因為 Android 的應用安裝流程會自動將 APK 解壓並安裝到 /data/app//mnt/asec/ 等系統管理的目錄中。

✅ 總結

方法 是否可行 限制
adb install -s ✅ 有條件可行 APK 必須支援 preferExternal
pm set-install-location ✅ 可行但不建議長期使用 可能影響系統穩定性
指定任意資料夾安裝 ❌ 不可行 Android 安全模型不允許

如何查package name

你可以透過以下幾種方式使用 ADB 查詢 Android 裝置上應用程式的 package name(套件名稱)

🔍 方法一:列出所有已安裝的套件

bash

adb shell pm list packages

這會列出所有安裝的應用,例如:
Code

package:com.android.chrome
package:com.facebook.katana
package:com.whatsapp

你可以搭配 grep 過濾關鍵字:
bash


adb shell pm list packages | grep facebook

📱 方法二:查詢特定應用的詳細資訊

如果你知道應用的部分名稱,可以用這個指令找出詳細資訊:
bash

adb shell dumpsys package <package_name>

例如:
bash

adb shell dumpsys package com.facebook.katana

這會顯示該應用的詳細資訊,包括版本、安裝路徑、權限等。

🖱️ 方法三:從應用畫面取得 package name

  1. 在 Android 裝置上開啟「設定」→「應用程式」→ 選擇目標應用
  2. 點選「應用資訊」→ 查看「套件名稱」(部分裝置需透過開發者工具或第三方 App 查看)

🧰 方法四:使用第三方工具(開發者常用)

  • App Inspector(Google Play 上可下載)
  • APK Info
  • Package Name Viewer
    這些工具可以直接顯示所有應用的 package name,對開發者非常方便。
    如果你有某個 APK 檔案,也可以用這個指令查出它的 package name:
    bash

aapt dump badging myapp.apk | grep package

⚠️ aapt 是 Android SDK Build Tools 的一部分,需先安裝。

Also See

File2FileLast Modified
對同一個裝置開啟兩個android adb shell, 它們是跑在不同process嗎?對同一個裝置開啟兩個android adb shell, 它們是跑在不同process嗎?8:20 PM - December 06, 2025
Android分析清理檔案Android分析清理檔案8:20 PM - December 06, 2025