adb install -r ~/downloads/app-release.apk
failed to copy '/Users/mac/downloads/app-release.apk' to '/data/local/tmp/app-release.apk': Permission denied
手機彈出「允許 USB 調試?」對話框,必須點擊「確定」。重新執行 adb devices 確認狀態為 device 而非 unauthorized。
/data/local/tmp 需 shell 寫入權限。嘗試:
adb shell chmod 777 /data/local/tmp
若提示 Operation not permitted,說明設備未 Root,無法修改。改用 adb install -r -d 允許降級安裝,或指定安裝位置 adb install -r --external。
adb uninstall 包名 再安裝。apksigner verify app-release.apk。Mac 系統自帶 adb 可能過舊。使用 Android SDK 平台工具目錄下的 adb:
export PATH=$PATH:~/Library/Android/sdk/platform-tools
# 或直接使用絕對路徑
~/Library/Android/sdk/platform-tools/adb install -r app-release.apk
執行 adb shell df /data 確認可用空間,清理緩存或卸載無用應用。
#!/bin/bash
echo "1. 設備狀態:" && adb devices -l
echo "2. 存儲空間:" && adb shell df /data
echo "3. 目標目錄權限:" && adb shell ls -ld /data/local/tmp
echo "4. 嘗試推送測試文件:" && adb push /dev/null /data/local/tmp/test_perm && echo "推送成功" || echo "推送失敗"
echo "5. 當前 adb 版本:" && adb version
adb install -r -t(允許測試 APK 安裝)。adb wait-for-device 確保設備就緒。