Dolnor / mifit-data-export

Set of Unix tools to grab data from Mi Fit Android app, most of this is courtesy of xmxm
75 stars 10 forks source link

script results with empty mi.ab #5

Open marekyggdrasil opened 7 years ago

marekyggdrasil commented 7 years ago

At a line

https://github.com/Dolnor/mifit-data-export/blob/70a067a7f73e8a3a41a4449673022b75fbb95c9e/run.sh#L79

After executing manually

adb backup -f mi.ab -noapk -noshared com.xiaomi.hm.health

The backup procedure is recognised ( I get the query for authorising it on the phone screen). My resulting mi.ab is

$ cat mi.ab
ANDROID BACKUP
3
1
none
x?c`?`?T

Which further results with empty archive. I tried to debug script myself, I made sure package name is correct

$ adb shell 'pm list packages -f' | grep health
package:/data/app/com.xiaomi.hm.health-1/base.apk=com.xiaomi.hm.health

My MiFit app is 2.2.10, my phone is MI4LTE, Android 6.0.1 MMB29M, MIUI MIUI 8.1 | Stable 8.1.3.0(MXDCNDI)

marekyggdrasil commented 7 years ago

I extracted some debug logs from logcat

01-16 17:34:50.364 26036 26036 D AndroidRuntime: Calling main entry com.android.commands.bu.Backup
01-16 17:34:50.366 26036 26036 D bu      : Beginning: backup
01-16 17:34:50.361 26036 26036 W main    : type=1400 audit(0.0:1262): avc: denied { ioctl } for path="socket:[284547]" dev="sockfs" ino=284547 ioctlcmd=7704 scontext=u:r:shell:s0 tcontext=u:r:adbd:s0 tclass=unix_stream_socket permissive=0
01-16 17:34:50.368  1633  3281 V BackupManagerService: Requesting full backup: apks=false obb=false shared=false all=false system=true pkgs=[Ljava.lang.String;@542d227
01-16 17:34:50.369  1633  3281 I BackupManagerService: Beginning full backup...
01-16 17:34:50.369  1633  3281 D BackupManagerService: Starting backup confirmation UI, token=2090823965
01-16 17:34:50.370  1633  3281 W ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.startActivity:668 com.android.server.backup.BackupManagerService.startConfirmationUi:8877 com.android.server.backup.BackupManagerServiceInjector.startConfirmationUi:37 com.android.server.backup.BackupManagerService.fullBackup:8740 com.android.server.backup.Trampoline.fullBackup:230 
01-16 17:34:50.370  1633  3281 W ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.startActivity:680 android.app.ContextImpl.startActivity:669 com.android.server.backup.BackupManagerService.startConfirmationUi:8877 com.android.server.backup.BackupManagerServiceInjector.startConfirmationUi:37 com.android.server.backup.BackupManagerService.fullBackup:8740 
01-16 17:34:50.373  1633  3281 I ActivityManager: START u0 {act=fullback flg=0x10000000 cmp=com.android.backupconfirm/.BackupRestoreConfirmation (has extras)} from uid 1000 on display 0
01-16 17:34:50.382  1633  1689 V BoostFramework: BoostFramework() : mPerf = com.qualcomm.qti.Performance@475df1f
01-16 17:34:50.383  1633  1689 V BoostFramework: BoostFramework() : mPerf = com.qualcomm.qti.Performance@125a26c
01-16 17:34:50.383  1633  3281 E ActivityManager: Invalid thumbnail dimensions: 0x0
01-16 17:34:50.404  1633  3708 I Timeline: Timeline: App_transition_ready time:6884550
01-16 17:34:50.405  1633  3281 D BackupManagerService: Waiting for full backup completion...
01-16 17:34:50.424  1633  1647 D CryptdConnector: SND -> {8 cryptfs cryptocomplete}
01-16 17:34:50.424  1633  2858 D CryptdConnector: RCV <- {200 8 1}
01-16 17:34:50.428  1633  1689 I Timeline: Timeline: App_transition_ready time:6884574
01-16 17:34:50.429  1633  1689 I Timeline: Timeline: App_transition_ready time:6884575
01-16 17:34:50.446  1633  1689 I Timeline: Timeline: App_transition_ready time:6884591
01-16 17:34:50.482  1633  1689 I ActivityManager: Displayed com.android.backupconfirm/.BackupRestoreConfirmation: +86ms
01-16 17:34:51.172  1633  1689 I Timeline: Timeline: Activity_windows_visible id: ActivityRecord{aa58cd4 u0 com.android.backupconfirm/.BackupRestoreConfirmation t1566} time:6885318
01-16 17:34:51.176  1633  1689 I Timeline: Timeline: App_transition_stopped time:6885322
01-16 17:34:51.442  1633  3822 D BackupManagerService: acknowledgeFullBackupOrRestore : token=2090823965 allow=true
01-16 17:34:51.448  1633 26062 I BackupManagerService: --- Performing full-dataset adb backup ---
01-16 17:34:51.449  1633 26062 W ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.bindService:1295 com.android.server.backup.BackupManagerService$FullBackupObbConnection.establish:3164 com.android.server.backup.BackupManagerService$PerformAdbBackupTask.run:3818 java.lang.Thread.run:818 <bottom of call stack> 
01-16 17:34:51.473  1633 26062 D CryptdConnector: SND -> {9 cryptfs cryptocomplete}
01-16 17:34:51.474  1633  2858 D CryptdConnector: RCV <- {200 9 1}
01-16 17:34:51.480  1633  3281 D BackupManagerService: Full backup processing complete.

I tried ADB versions 1.0.26, 1.0.29, 1.0.31, 1.0.32, 1.0.36

howff commented 2 years ago

I also have the same problem, even with different versions. :-(

manio commented 2 years ago

Same here, recent adb from Arch Linux... :(