You could use UserLAnd, GNURoot Debian, or Termux. Termux is probably the most lightweight, and also has Swipe keyboard support (have to swipe the entire input to the side to access it), and you can enable an extended keyboard that pops up over whatever keyboard you use to access arrows, Tab, Ctrl, etc. UserLAnd also has the extended keyboard but no Swipe support, and runs a full version of Linux in a chroot environment so you can have root access using sudo or the root user.
Using Termux & UserLAnd on an unrootable Android and both are amazing. rsync is the greatest thing ever to keep project changes up to date because AFAIK it's not possible to edit the data stored in either of their filesystems directly using an Android app, but can be done using vi/vim/nano/etc inside of Termux or in UserLAnd's session (have to connect to it through SSH or VNC).
Just make sure to follow the suggestions during UserLAnd setup and grab ConnectBot and/or bVNC -- those are currently the only supported apps to connect to it. Also, while it claims to be able to setup for a single app I have not seen any directions for that, and have no idea how it would be possible as the UI doesn't seem to have anyway to do so.