I'm porting a script that runs well on android 4.0.4 to android 4.4.2

Simplified it does this:

ls *.a | ./busybox xargs ./busybox rm -f

I'm using a busybox binary in mi app's folder.

The error I'm getting is:

xargs: ./busybox: Permission denied

However, if I run ./busybox rm -f x.a it works.

I'm rooted and can execute simple commands as root, the problem is when a comand has a nested command inside.

same thing happens with rsync -e.

I've tested this on Samsung galaxy note 10.1 android 4.0.4 where it works fine, and Samsung galaxy note 10.1 2014 edittion android 4.4.2 where it fails.

I'm sensing this has something to do with the problem: Terminal emulator article about su and ping but it doesn't help on a solution.

1 Answer 1


I've confirmed that it was SELinux fault. Running as the app linux user instead of root took me further but "rsync -e ./ssh" still didn't work.

Flashed a custom kernel without SELinux (getenforce returns Disabled) and now it works fine.

For this you have to know how to uncompress an official android image and change the boot.img file with the one with custom kernel, then compress again and flash with odin.

Any attempt at disabling selinux got me nowhere, only changing kernel worked.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .