14

I'm trying to mv .apk file from my /sdcard to /system and getting following error:

failed on 'XXX.apk' - Cross-device link

I did remount my /system as rw

root@ghost:/ # mount -o rw,remount /dev/block/platform/msm_sdcc.1/by-name/system /system
root@ghost:/ # mount | grep system                                             
/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 rw,seclabel,relatime,data=ordered 0 0
root@ghost:/ # 

I also tried following, but without luck(

mbp:~ alexus$ adb root
adbd cannot run as root in production builds
mbp:~ alexus$ adb remount
remount failed: Permission denied
mbp:~ alexus$ 

Why can't I still move apk file to /system? What am I missing?

alexus
  • 1,038
  • 8
  • 15
  • 35

1 Answers1

24

and the answer is pretty simple, use cp instead of mv)

alexus
  • 1,038
  • 8
  • 15
  • 35
  • 3
    for completeness: subsequently rm i.e. delete the original – Ujjwal Singh Nov 25 '14 at 21:35
  • This is a limitation of the Busybox mv. When the original mv encounters a move across device borders, it just does exactly cp followed by rm, tho I think it sets the file's time to the old values. – ott-- May 14 '15 at 21:03
  • 1
    Adding to alexus's answer: If you don't have busybox, you can simply use cat SOURCE > DESTINATION to imitate cp – johnny May 25 '16 at 08:33
  • @johnny you can't use cat to copy binary, cat would only work for text file. – alexus Jul 14 '16 at 16:27
  • use "busybox mv ". Works for me all the time. –  Jul 14 '16 at 10:03
  • @alexus Sure? I doubt that. There are even instructions to "flash" recoveries this way, and they work (I have an LG P880 whose bootloader is so rudimentary that it doesn't even offer support for fastboot flash (at least I never managed to get to that), so this is how I installed TWRP to it: cat /sdcard/twrp.img > /dev/block/mmcblk0p1). So are you saying that's a "text file"? :) – Izzy Jul 15 '16 at 09:59