[WFX] Android ADB 7.3

Discuss and announce Total Commander plugins, addons and other useful tools here, both their usage and their development.

Moderators: Hacker, Stefan2, white, sheep

Post Reply
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 36354
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) » 2018-06-01, 14:10 UTC

Since you have an active ADB connection, try adb backup:

https://stackoverflow.com/questions/12266374/backup-full-sms-mms-contents-via-adb
Author of Total Commander
http://www.ghisler.com

ferenczy
Junior Member
Junior Member
Posts: 21
Joined: 2013-12-16, 23:58 UTC
Location: Prague, Czech republic
Contact:

64-bit version of the plugin for Windows

Post by *ferenczy » 2018-07-16, 18:45 UTC

Do you plan to release a 64-bit version of the plugin for Windows, please?
Dawid Ferenczy

brahman
Member
Member
Posts: 131
Joined: 2006-04-26, 13:27 UTC

Post by *brahman » 2018-07-20, 00:59 UTC

An x64 version has existed for quite a while.

Download the plugin from the first post link and you will get a 32 and 64 combined plugin.
Regards, Brahman
Win10 Pro x64

Enyby
Junior Member
Junior Member
Posts: 14
Joined: 2018-08-12, 16:02 UTC

Re: [WFX] Android ADB 7.3

Post by *Enyby » 2018-08-12, 16:34 UTC

2jakubklos

I have the following problem:
if I copy file 2147483647 to a memory card, the file is copied correctly.
If the file is larger than this size, even by 1 byte, it remains in the form of a temporary file in the root of the memory card.
Threshoild to use sdcard is set to 10 MB.
If you set it to 10000, then there is no problem, because the file is immediately copied to the right place.

This behavior occurs only when data is copied to the device.
I tried to copy to the emulator - there is no problem.

Here is the file copy log size 2147483647

Code: Select all

:43:53 [63EC] Connecting to ADB server...
:43:53 [63EC] Connected
:43:53 [63EC] ADB Write: host:transport:XXX
:43:53 [63EC] ADB Read: OKAY
:43:53 [63EC] ADB Write: shell:ls -l "/sdcard/daw/"
:43:53 [63EC] ADB Read: OKAY
:43:54 [63EC] ADB Read Data: drwxrwx--- root     sdcard_r          2014-03-23 03:27 CallLog
:44:09 [621C] Connecting to ADB server...
:44:09 [621C] Connected
:44:09 [621C] ADB Write: host:transport:XXX
:44:09 [621C] ADB Read: OKAY
:44:09 [621C] ADB Write: shell:ls -l "/sdcard/daw/"
:44:09 [621C] ADB Read: OKAY
:44:09 [621C] ADB Read Data: drwxrwx--- root     sdcard_r          2014-03-23 03:27 CallLog
:44:09 [621C] ADB Write: STAT   /sdcard/daw/e1
:44:09 [621C] ADB Read:
:44:09 [621C] Connecting to ADB server...
:44:09 [621C] Connected
:44:09 [621C] ADB Write: host:transport:XXX
:44:09 [621C] ADB Read: OKAY
:44:09 [621C] ADB Write: sync:
:44:09 [621C] ADB Read: OKAY
:44:09 [621C] ADB Write: SEND#   /storage/sdcard0/3B0EDF19.tmp,33206
:49:15 [621C] ADB Write: DONEUp[
:49:15 [621C] ADB Read: OKAY
:49:15 [621C] Connecting to ADB server...
:49:15 [621C] Connected
:49:15 [621C] ADB Write: host:transport:XXX
:49:15 [621C] ADB Read: OKAY
:49:15 [621C] ADB Write: shell:busybox mv -f "/storage/sdcard0/3B0EDF19.tmp" "/sdcard/daw/e1"
:49:15 [621C] ADB Read: OKAY
:49:15 [621C] ADB Read Data:
:49:15 [63EC] Connecting to ADB server...
:49:15 [63EC] Connected
:49:15 [63EC] ADB Write: host:transport:XXX
:49:15 [63EC] ADB Read: OKAY
:49:15 [63EC] ADB Write: shell:ls -l "/sdcard/daw/"
:49:15 [63EC] ADB Read: OKAY
:49:15 [63EC] ADB Read Data: drwxrwx--- root     sdcard_r          2014-03-23 03:27 CallLog
-rwxrwx--- root     sdcard_r 2147483647 :49 e1
:49:33 [63EC] Connecting to ADB server...
But the log for the file size 2147483648

Code: Select all

:49:33 [63EC] Connecting to ADB server...
:49:33 [63EC] Connected
:49:33 [63EC] ADB Write: host:transport:XXX
:49:33 [63EC] ADB Read: OKAY
:49:33 [63EC] ADB Write: shell:ls -l "/sdcard/daw/"
:49:33 [63EC] ADB Read: OKAY
:49:33 [63EC] ADB Read Data: drwxrwx--- root     sdcard_r          2014-03-23 03:27 CallLog
:49:37 [2208] Connecting to ADB server...
:49:37 [2208] Connected
:49:37 [2208] ADB Write: host:transport:XXX
:49:37 [2208] ADB Read: OKAY
:49:37 [2208] ADB Write: shell:ls -l "/sdcard/daw/"
:49:37 [2208] ADB Read: OKAY
:49:37 [2208] ADB Read Data: drwxrwx--- root     sdcard_r          2014-03-23 03:27 CallLog
:49:37 [2208] ADB Write: STAT   /sdcard/daw/e2
:49:37 [2208] ADB Read:
:49:37 [2208] Connecting to ADB server...
:49:37 [2208] Connected
:49:37 [2208] ADB Write: host:transport:XXX
:49:37 [2208] ADB Read: OKAY
:49:37 [2208] ADB Write: sync:
:49:37 [2208] ADB Read: OKAY
:49:37 [2208] ADB Write: SEND+   /storage/sdcard0/FFFFFFFF9B23C382.tmp,33206
:54:02 [2208] ADB Write: DONEUp[
:54:02 [2208] ADB Read: OKAY
:54:02 [2208] Connecting to ADB server...
:54:02 [2208] Connected
:54:02 [2208] ADB Write: host:transport:XXX
:54:02 [2208] ADB Read: OKAY
:54:02 [2208] ADB Write: shell:busybox mv -f "/storage/sdcard0/FFFFFFFF9B23C382.tmp" "/sdcard/daw/e2"
:54:02 [2208] ADB Read: OKAY
:54:02 [2208] ADB Read Data:
:54:02 [63EC] Connecting to ADB server...
:54:02 [63EC] Connected
:54:02 [63EC] ADB Write: host:transport:XXX
:54:02 [63EC] ADB Read: OKAY
:54:02 [63EC] ADB Write: shell:ls -l "/sdcard/daw/"
:54:02 [63EC] ADB Read: OKAY
:54:03 [63EC] ADB Read Data: drwxrwx--- root     sdcard_r          2014-03-23 03:27 CallLog
:55:41 [63EC] Connecting to ADB server...
I replaced the null bytes from the log with spaces so that the forum had no problems.
It seems that the command

Code: Select all

busybox mv -f "/storage/sdcard0/FFFFFFFF9B23C382.tmp" "/sdcard/daw/e2"
does not work at all.
I tried to execute it separately in the adb shell - it works fine.
Moreover, even if you execute it before the copy is finished, it works out correctly, and the plug-in continues to copy to the already moved file.
It looks like this command is sent in the same connection as the data transfer, and the protocol is destroyed, so the command is not executed.

Perhaps this will help you:
https://github.com/cstyan/adbDocumentation#adb-push

I use 64-bit plug-in version 8.3.
Android Debug Bridge version 1.0.40
Version 4797878

Same problem described here:
viewtopic.php?p=289390#p289390

As I wrote above, you can set the "Threshoild to use sdcard" setting to a large number, but I would like the problem to be fixed not by crutches.

jakubklos
Senior Member
Senior Member
Posts: 219
Joined: 2012-07-11, 14:48 UTC

Re: [WFX] Android ADB 7.3

Post by *jakubklos » 2018-08-13, 06:59 UTC

Hello,
I am currently out until the 30th so I cannot check. Will do when I get back. Meanwhile you could check if the file in the temporary dir has the correct size.

Enyby
Junior Member
Junior Member
Posts: 14
Joined: 2018-08-12, 16:02 UTC

Re: [WFX] Android ADB 7.3

Post by *Enyby » 2018-08-13, 08:28 UTC

2jakubklos
Thanks for answer. File have correct size and correct content.
I copy temp file back to PC and compare by total. Is equal.

Enyby
Junior Member
Junior Member
Posts: 14
Joined: 2018-08-12, 16:02 UTC

Re: [WFX] Android ADB 7.3

Post by *Enyby » 2018-08-28, 12:19 UTC

2jakubklos
It would also be nice to fix the display of icons. It is broken after version 7.6.
Here 7.6 and 8.3 for comparsion:
Image: https://i.imgur.com/gtOMLTL.png
Image: https://i.imgur.com/FzgCVzB.png
Image: https://i.imgur.com/k6MwNNb.png
Image: https://i.imgur.com/31dN4AH.png
Also in options dialog too not present any image on left top corner. Only empty space.
Image: https://i.imgur.com/LG8itOA.jpg

All images: https://imgur.com/a/Idyvxmr

Enyby
Junior Member
Junior Member
Posts: 14
Joined: 2018-08-12, 16:02 UTC

Re: [WFX] Android ADB 7.3

Post by *Enyby » 2018-08-29, 13:33 UTC

2jakubklos
Code from 7.6:

Code: Select all

  else if ( (unsigned __int8)sub_5A446C(v26, ".apps", 0) )
  {
    *(_DWORD *)a4 = LoadIconW(X, L"X_APK");
    v28 = 1;
  }
  else if ( (unsigned __int8)sub_5A446C(v26, ".power", 0) )
  {
    *(_DWORD *)a4 = LoadIconW(X, L"X_REBOOT");
    v28 = 1;
  }
Code from 8.3:

Code: Select all

  else if ( (unsigned __int8)sub_5DB69C(v26, "[apps]", 0) )
  {
    *a4 = FindResourceW(hInstance, L"X_APK", &Type);
    v28 = 1;
  }
  else if ( (unsigned __int8)sub_5DB69C(v26, "[power]", 0) )
  {
    *a4 = FindResourceW(hInstance, L"X_REBOOT", &Type);
    v28 = 1;
  }
I think you forget about return type.
LoadIconW return HICON.
FindResourceW return HRSRC.
It is not same. You need use LoadIconW as before, or load icon from resource in some way. For example CreateIconFromResourceEx like here:
http://forums.codeguru.com/showthread.php?321947-can-i-load-icon-resource-by-FindResource-API-functions

Enyby
Junior Member
Junior Member
Posts: 14
Joined: 2018-08-12, 16:02 UTC

Re: [WFX] Android ADB 7.3

Post by *Enyby » 2018-08-29, 14:54 UTC

Android ADB 8.3 FIX (Aug 29, 2018)

Screenshots: https://imgur.com/a/iwwo1kq
8.3 FIX
- Fixed icons and a picture in options.
x64 exactly works. x32 did not check, but it should work too.

Download: https://www.sendspace.com/file/uw2o70

jakubklos
Senior Member
Senior Member
Posts: 219
Joined: 2012-07-11, 14:48 UTC

Re: [WFX] Android ADB 7.3

Post by *jakubklos » 2018-08-31, 08:57 UTC

I have fixed the icons in the upcoming version 8.5

jakubklos
Senior Member
Senior Member
Posts: 219
Joined: 2012-07-11, 14:48 UTC

Re: [WFX] Android ADB 7.3

Post by *jakubklos » 2018-08-31, 10:18 UTC

I have tested the 2GB issue and it works fine for me
This is a 4.4GB file on my Android 8.1
I think the issue must be your device because as you said it works properly on your android emulator.

Code: Select all

Info: [3], ADB Read: OKAY
Info: [3], ADB Write: sync:
Info: [3], ADB Read: OKAY
Info: [3], Connecting to ADB server...
Info: [3], Connected
Info: [3], ADB Write: host:transport:WCR0218320008508
Info: [3], ADB Read: OKAY
Info: [3], ADB Write: shell:echo $EXTERNAL_STORAGE
Info: [3], ADB Read: OKAY
Info: [3], ADB Read Data: /sdcard
Info: [3], ADB Write: SEND
Info: [3], ADB Write: DONE?p[
Info: [3], ADB Read: OKAY
Info: [3], Connecting to ADB server...
Info: [3], Connected
Info: [3], ADB Write: host:transport:WCR0218320008508
Info: [3], ADB Read: OKAY
Info: [3], ADB Write: shell:busybox mv -f "/sdcard/00.tmp" "/sdcard/viking.destiny.2018.720p.bluray.x264-spooks.mkv"
Info: [3], ADB Read: OKAY
Info: [3], ADB Read Data: /system/bin/sh: busybox: not found
Info: [3], Connecting to ADB server...
Info: [3], Connected
Info: [3], ADB Write: host:transport:WCR0218320008508
Info: [3], ADB Read: OKAY
Info: [3], ADB Write: shell:mv "/sdcard/00.tmp" "/sdcard/viking.destiny.2018.720p.bluray.x264-spooks.mkv"
Info: [3], ADB Read: OKAY
Info: [3], ADB Read Data:
If the threshold option works for you I would suggest using it. command line tool "adb push" also writes directly to the final file and does not move or copy anything. So the option may be useless and should be ignored always (always write directly to the final file)

I don't have a rooted device so it uses mv but it should not matter.
Btw. you mention that the connection is broken and mv is done on the very same connection. That should not be the case because the push actually issues DONE, server (device) responds with OKAY. So all is well and the connection should be solid.

I have fixed the speed performance though and increased write speeds and some large file progress bar indication

Enyby
Junior Member
Junior Member
Posts: 14
Joined: 2018-08-12, 16:02 UTC

Re: [WFX] Android ADB 7.3

Post by *Enyby » 2018-08-31, 12:07 UTC

jakubklos wrote:
2018-08-31, 10:18 UTC
I think the issue must be your device because as you said it works properly on your android emulator.
So not only for me. In fact, the message came from another user, and I was able to reproduce it myself.
jakubklos wrote:
2018-08-31, 10:18 UTC
If the threshold option works for you I would suggest using it. command line tool "adb push" also writes directly to the final file and does not move or copy anything. So the option may be useless and should be ignored always (always write directly to the final file)
Perhaps then it's worth changing the default value for this option?

Enyby
Junior Member
Junior Member
Posts: 14
Joined: 2018-08-12, 16:02 UTC

Re: [WFX] Android ADB 7.3

Post by *Enyby » 2018-08-31, 12:12 UTC

2jakubklos
Also I advise you to update aapt and adb. The latest versions can be downloaded here:
https://github.com/Enyby/APK-Info/releases/latest
tools folder inside zip.
Last edited by Enyby on 2018-08-31, 12:29 UTC, edited 1 time in total.

Enyby
Junior Member
Junior Member
Posts: 14
Joined: 2018-08-12, 16:02 UTC

Re: [WFX] Android ADB 7.3

Post by *Enyby » 2018-08-31, 12:22 UTC

2jakubklos
I try 8.5 version. But after I replace ADBPlugin.wfx64 Total crash on start.
Signature of the problem:
The name of the problem event: APPCRASH
Application name: TOTALCMD64.EXE
Application version: 8.5.1.1
Application time stamp: 00000000
Module name with error: ntdll.dll
Module version with error: 6.1.7601.23677
Module time stamp with error: 589c99e1
Exception code: c0000005
Offset exception: 000000000001819e
OS version: 6.1.7601.2.1.0.256.1
Language code: 1049
Additional Information 1: abcc
Additional information 2: abcc8f7853b48d9807d6d51eb1fa5df9
Additional information 3: abcc
Additional information 4: abcc8f7853b48d9807d6d51eb1fa5df9
Exception code c0000005 is the code for an access violation. That means that your program is accessing (either reading or writing) a memory address to which it does not have rights. Most commonly this is caused by:
https://stackoverflow.com/questions/17168982/exception-error-c0000005-in-vc

I return back to 8.3 FIX and Total started without crash.
I use x64 Total.

Enyby
Junior Member
Junior Member
Posts: 14
Joined: 2018-08-12, 16:02 UTC

Re: [WFX] Android ADB 7.3

Post by *Enyby » 2018-08-31, 12:31 UTC

It would also be nice to update the first post of this topic.

Post Reply