Slow moving files on external SD
Moderators: Hacker, petermad, Stefan2, white
-
- Junior Member
- Posts: 5
- Joined: 2017-06-12, 19:55 UTC
- ghisler(Author)
- Site Admin
- Posts: 50386
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Are you on Android 7? Older Android versions do NOT have the move function.
The default file manager is a system app signed either by Google or the device manufacturer. System apps do not have the ricdiculous restrictions imposed on installed apps.
The default file manager is a system app signed either by Google or the device manufacturer. System apps do not have the ricdiculous restrictions imposed on installed apps.
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
-
- Junior Member
- Posts: 5
- Joined: 2017-06-12, 19:55 UTC
-
- Junior Member
- Posts: 5
- Joined: 2017-06-12, 19:55 UTC
- ghisler(Author)
- Site Admin
- Posts: 50386
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
You probably can't - "system" is on a different partition of the flash memory than the user data, so the files need to be copied then deleted.
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
-
- Junior Member
- Posts: 5
- Joined: 2017-06-12, 19:55 UTC
it looks like you misunderstood my comment. by saying move to /system/app I ment to say that I made them system app, ofcourse data and system are different partitions so we need to copy and delete, but as my OS is rooted I moved all popular file managers from market to system partition in the hope that it might remove the restriction you mentioned earlier, but it doesn't. moving a file from external sd card to some other folder in external sd card also uses copy and delete command even when TC is system app (only my defaults file manager supplied with ROM does the magic and can move it).
anyway it may be because they are not signed with some system certificate as you said. thank you for your valuable time.
anyway it may be because they are not signed with some system certificate as you said. thank you for your valuable time.
- ghisler(Author)
- Site Admin
- Posts: 50386
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Giving the Total Commander apk root rights doesn't help at all - it's just a zip containing java byte code and a few C libraries, not executable code. TC usually calls the shell via "su" and then uses the shell command "mv" to move the file, something like this:
sendShellRequest("mv \""+escapeName(fullsrc)+"\" \""+escapeName(fulltrg)+"\"")
Does "rename" within the same folder work? It uses the same command.
sendShellRequest("mv \""+escapeName(fullsrc)+"\" \""+escapeName(fulltrg)+"\"")
Does "rename" within the same folder work? It uses the same command.
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
-
- Junior Member
- Posts: 5
- Joined: 2017-06-12, 19:55 UTC
Yes, I've tried moving 1 GB file and renaming within same folder works fine, but moving to other folder takes one minute as it uses copy and delete. I also have tried 'mv' command using a terminal emulator and it can move files within external sd without any problem (within folder and to the other folders). looks like TC is not using same command, otherwise it would give me same result...!
- ghisler(Author)
- Site Admin
- Posts: 50386
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
- ghisler(Author)
- Site Admin
- Posts: 50386
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
"My Files" is a system app, it has more rights than user-installed apps. Moving files on SD card is only possible on Android 7 and newer, sorry.
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
- ghisler(Author)
- Site Admin
- Posts: 50386
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
-
- Junior Member
- Posts: 8
- Joined: 2012-10-11, 16:50 UTC
- ghisler(Author)
- Site Admin
- Posts: 50386
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Normal Java file functions cannot write on external SD card. You need to use the Documents API, DocumentsContract.
Reaming is done with renameDocument. It does NOT work between two folders, only within the same folder.
Moving is done with moveDocument. But this is only supported in Android 7 (API Level 24) and newer.
Reaming is done with renameDocument. It does NOT work between two folders, only within the same folder.
Moving is done with moveDocument. But this is only supported in Android 7 (API Level 24) and newer.
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com