[英]Android adb backup storage issue
我的 android 手機上的adb bakup有問題 - 它是 Lenovo Vibe Shot Z90a40, Android version 5.1 。 我正在嘗試備份 Viber,但其他軟件包和完整備份也會出現問題。 生成的.ab文件的大小始終約為 40 字節。
我創建了.bat腳本,在其中執行logcat以查看設備中發生的情況:
@echo off
echo Connecting.
"%~dp0adb" version
"%~dp0adb" kill-server
"%~dp0adb" wait-for-device
"%~dp0adb" shell am force-stop com.viber.voip
echo Enter Backup My Data on Android phone screen.
"%~dp0adb" backup -f "%~dp0viber.ab" com.viber.voip
ping -n 10 127.0.0.1>nul
"%~dp0adb" shell logcat -d > "%~dp0log.txt"
"%~dp0adb" kill-server
echo "press any key to exit."
pause
我在日志錯誤消息中看到,可用空間不足:
I/BackupManagerService( 1136): --- Performing full-dataset adb backup ---
I/BackupManagerService( 1136): Initiating bind of OBB service on com.android.server.backup.BackupManagerService$FullBackupObbConnection@3bc92971
W/ContextImpl( 1136): Calling a method in the system process without a qualified user: android.app.ContextImpl.bindService:1809 com.android.server.backup.BackupManagerService$FullBackupObbConnection.establish:2998 com.android.server.backup.BackupManagerService$PerformAdbBackupTask.run:3620 java.lang.Thread.run:818 <bottom of call stack>
E/Cryptfs ( 304): not running with encryption, aborting
I/BackupManagerService( 1136): OBB service connection com.android.internal.backup.IObbBackupService$Stub$Proxy@22da70c4 connected on com.android.server.backup.BackupManagerService$FullBackupObbConnection@3bc92971
D/BackupManagerService( 1136): Binding to full backup agent : com.viber.voip
W/BackupManagerService( 1136): ensureAvailableSpace
D/BackupStrogeUtils( 1136): freeCacheStorage bytes=230686720
D/BackupStrogeUtils( 1136): freeCacheStorage Start bytes:230686720
D/BackupStrogeUtils( 1136): listFilesRecursive start uid=1000
D/BackupStrogeUtils( 1136): listFilesRecursive file = /cache/recovery/last_log_r file.stat.st_uid=0
D/BackupStrogeUtils( 1136): listFilesRecursive file = /cache/recovery/last_install file.stat.st_uid=0
D/BackupStrogeUtils( 1136): listFilesRecursive file = /cache/recovery/last_locale file.stat.st_uid=0
D/BackupStrogeUtils( 1136): freeCacheStorage Found 0 on cache
D/BackupStrogeUtils( 1136): freeCacheStorage End
D/BackupStrogeUtils( 1136): Not enough free space; 230686720 requested, 220848128 available
D/BackupManagerService( 1136): backupOnePackage ensureAvailableSpace failed : com.viber.voip
D/BackupManagerService( 1136): Full backup processing complete.
D/bu (26755): Finished.
但是我在設備上有很多可用空間。 我執行了df命令:
@echo off
"%~dp0adb" kill-server
"%~dp0adb" shell df > df.txt
"%~dp0adb" kill-server
echo Done!
pause
這是結果:
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
Filesystem Size Used Free Blksize
/dev 1.4G 76.0K 1.4G 4096
/sys/fs/cgroup 1.4G 12.0K 1.4G 4096
/mnt/asec 1.4G 0.0K 1.4G 4096
/mnt/obb 1.4G 0.0K 1.4G 4096
/system 1.9G 1.7G 255.5M 4096
/data 25.4G 12.3G 13.1G 4096
/preload 387.4M 127.5M 259.9M 4096
/cache 248.0M 220.0K 247.7M 4096
/persist 27.5M 184.0K 27.3M 4096
/firmware 64.0M 51.1M 12.9M 16384
/mnt/shell/emulated 25.3G 12.3G 13.1G 4096
/storage/emulated/legacy 25.3G 12.3G 13.1G 4096
/storage/sdcard0 25.3G 12.3G 13.1G 4096
我在/data分區上有將近 13GB 的可用空間。 奇怪的情況是備份恢復功能有效,我成功地將viber包從我的舊手機轉移到了這台手機。
我找到了類似的線程,並對adb 的1.0.31和1.0.32版本進行了測試,但結果是一樣的。 有誰知道出了什么問題? 任何幫助表示贊賞。
提前致謝
引用 ADB 的參數后,備份開始為我工作, 如此 SO 線程中所述。
例如:
adb 備份“-apk -shared -all -f backup.ab”
我確實使用了 1.0.31,但它可能不是因素。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.