列出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>
adb shell pm uninstall com.facebook.katana
--user 0):adb shell pm uninstall --user 0 <package_name>
如果你不知道應用的 package name,可以:
adb shell pm list packages | grep appnameadb shell dumpsys package 查找詳細資訊。你可以使用 ADB 指令來查看 Android 裝置上某個應用程式(package)所佔用的空間。以下是幾種方法:
bash
adb shell dumpsys package <package_name>
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 權限才能存取。
bash
adb shell pm path <package_name>
adb shell ls -l <APK 路徑>
或使用:
bash
adb shell du -sh /data/app/*
這會列出所有安裝 APK 的大小。
你可以使用 ADB 安裝 APK 檔案到 Android 裝置,以下是完整步驟與指令:
bash
adb devices
bash
adb install <path_to_apk>
例如:
bash
adb install myapp.apk
bash
adb install -r myapp.apk
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 系統根據裝置的儲存策略自動決定的。不過,你可以透過以下方式影響應用的安裝位置:
-s 參數安裝到 SD 卡(僅限支援的應用)bash
adb install -s myapp.apk
-s 表示嘗試將應用安裝到「外部儲存」(通常是 SD 卡或模擬 SD 卡)。AndroidManifest.xml 中必須包含:<manifest ... android:installLocation="preferExternal" ... >
你可以暫時更改裝置的預設安裝位置:
bash
adb shell pm set-install-location 2
0 = 自動(預設)1 = 僅內部儲存2 = 僅外部儲存
⚠️ 警告:這可能導致某些應用無法正常運作,請小心使用。
查詢目前設定:
bash
adb shell pm get-install-location
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 安全模型不允許 |
你可以透過以下幾種方式使用 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
這會顯示該應用的詳細資訊,包括版本、安裝路徑、權限等。
aapt dump badging myapp.apk | grep package
⚠️
aapt是 Android SDK Build Tools 的一部分,需先安裝。
| File2 | File | Last Modified |
|---|---|---|
| 對同一個裝置開啟兩個android adb shell, 它們是跑在不同process嗎? | 對同一個裝置開啟兩個android adb shell, 它們是跑在不同process嗎? | 8:20 PM - December 06, 2025 |
| Android分析清理檔案 | Android分析清理檔案 | 8:20 PM - December 06, 2025 |