Android / busybox / termux test envionment
What’s the best way to get a test environment for busybox / android ?
I’ve tried to go with the docker busybox image.
I also need to be able to add tools like an ssh client or rsync, which works in android termux via
apt install rsync, but won’t work in a docker image for obvious reasons.
Any ideas ?
One Solution collect form web for “Android / busybox / termux test envionment”
Busybox itself is really just a single multicall binary that can behave like many different tools. In a pure busybox environment, you’d probably end up compiling busybox to include the applets that you need (like rsync).
In your question, you referenced a command
apt install rsync. Busybox doesn’t have an
apt command, like you mentioned. It may be possible to install a package manager that would in turn be able to install things on demand.
The Alpine Linux distro has a very small package manager called
apk, and it also can use busybox. The
alpine official image on the Docker Hub essentially has just busybox and apk. Its packages are based on libmusl instead of glibc. It’d be worth taking a look at alpine for sure.
Here’s how to install rsync on alpine:
$ docker run --rm -it alpine sh / # which busybox /bin/busybox / # ls -lah `which mv` lrwxrwxrwx 1 root root 12 Jun 23 19:37 /bin/mv -> /bin/busybox / # apk --no-cache add rsync fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/main/x86_64/APKINDEX.tar.gz fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/community/x86_64/APKINDEX.tar.gz (1/4) Installing libattr (2.4.47-r4) (2/4) Installing libacl (2.2.52-r2) (3/4) Installing popt (1.16-r6) (4/4) Installing rsync (3.1.2-r2) Executing busybox-1.24.2-r9.trigger OK: 5 MiB in 15 packages / # ls -lah `which rsync` -rwxr-xr-x 1 root root 396.0K Apr 29 16:02 /usr/bin/rsync / #
Other tiny package managers may work as well, but I’m not aware of how easy they are to install into a stripped down busybox root (like the
busybox image). opkg and ipkg come to mind for embedded package managers.