Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for Android < 5 (4.*) #6

Closed
valerio-bozzolan opened this issue Oct 28, 2015 · 39 comments
Closed

Support for Android < 5 (4.*) #6

valerio-bozzolan opened this issue Oct 28, 2015 · 39 comments

Comments

@valerio-bozzolan
Copy link

I think that you was waiting for this request from your community :D

The Android Support Library is very useful for that.

(For the records: sadly my latest avaiable CyanogenMod is a 4.4)

@ZatsuneNoMokou
Copy link

Only available on android 5+, that's why I can't install it? (Lastest for me is 4.4.4)

@fornwall
Copy link
Member

Hi, Termux is only available on Android 5.0 or later indeed.

The app itself could be ported to run on previous Android versions, but porting the collection of packages are a considerable larger task, since Android broke compatibility of the system libc in Android 5.

Would the app itself (without many packages) be interesting in itself for older versions, running just as a terminal emulator?

@ZatsuneNoMokou
Copy link

It mean, without things like nano?

@fornwall
Copy link
Member

fornwall commented Nov 3, 2015

Yes, a question is if people are interested in running Termux just as a terminal emulator without packages (which could then be made to run on previous Android versions, and more cpu arches such as mips). Or if it's not much point in making a "Termux Terminal" without packages...

@ZatsuneNoMokou
Copy link

Dunno if it's much useful, there's several other terminal apps

@skeevy420
Copy link

I'd be extremely interested in running Termux on 4.0 ICS. My previous phone is an Atrix HD, ICS & JB stock roms, but only the ICS stock works with my Motorola Lapdock 500 - a phone dock with a 13" screen, keyboard, & touchpad (hdmi driver changed in the kernel between ICS & JB as well as it's settings in the stock rom removed).

Currently my solution is to use Linux Deploy and use an Arch Linux chroot for advanced needs, but Termux does all that I need to use that chroot for -- Zsh shell, ssh, quick nano edits.

My current phone is the LG G3 and Termux works great. It's one of my go-to, must have applications now (especially since Zshaolin doesn't work past KitKat). Just purchased Styling and I'm picking up Float once I get a few more Google Rewards surveys.

@linhua55
Copy link

Could we replace package manager "APT" with "emerge(Portage)" (in Gentoo) to support more cpu arches.

@ThePreviousOne
Copy link

@linhua55 pacman as mentioned here termux/termux-packages#104 would be likely be good. Plus http://archlinuxarm.org/packages already has many prebuild armv6 packages and there are mips packages somewhere aswell

@joakim-noah
Copy link

@fornwall, what specific libc compatibility did you have in mind? I've been porting the D standard library to use bionic back to API 9 and have had few issues, though only tested on actual devices back to API 16, ie 4.1 Jelly Bean, so far. If you simply compile using the NDK compilers against an older API, Android maintains backward compatibility, so the resulting binaries should work on Android 4 (well, technically even back to Android 2).

@franciscod
Copy link

what about using arch linux arm packages? would they work?

@easyaspi314
Copy link
Contributor

I have a 2.3.7 armv6 phone if it will help.

@joakim-noah
Copy link

@franciscod, if you did something similar to this, you might be able to use Arch linux arm packages, if you packaged glibc too.

@franciscod
Copy link

nice link! thanks, KBOX seems similar to termux, we should probably mention that somewhere and list some of their similarities/differences

@voidling42
Copy link

voidling42 commented May 4, 2016

@fornwall Hi Fredrik!
I would very much be interested in a down-port of only the core app as well. I assume that would mean that most of the nifty addons like api and widgets will not work. The one package I would need to make this useful is openssh - I assume when you say "without many packages" ssh would/could be included.

Why would this be so great? Because the usability of the terminal itself is really good: pinch to zoom, I am able to use the standard keyboard (and do not have to ressort to hacker's keyboard) because of the VolUp/VolDown shortcuts, easy copy/paste, wakelock...

If you can go lower than Kitkat it would be great (4.2 would be very nice).

Cheers,
Raja

@easyaspi314
Copy link
Contributor

4.1. Might as well support that; they are almost identical and 4.1 has 7% usage, rather significant for Android.

There are only a few differences which usually can be fixed with reflection. It also supports PIE.

@spaesani
Copy link

Can you point us in the right direction for a port?

I've allready changed the theme to AppCompat

Some mentioned here a lib change. Can you indicate which your jni calls use the newer lib?

@spaesani
Copy link

Backported the android.system.os code..

any indication of what other new apis were used is appreciated

@spaesani
Copy link

jni looks pretty std..

@spaesani
Copy link

on 4.4.2 crashes on launch every time. I suspect my lack of knowledge in Material designn backporting is at play. .. uninstall.
:)

@TheDiamondYT1
Copy link

Its not all about material design... You have to change the minimum sdk and other things (Just run after changing the sdk and check logcat if there is crashes)

@easyaspi314
Copy link
Contributor

easyaspi314 commented Sep 29, 2016 via email

@TheDiamondYT1
Copy link

AppCompat is for back porting design changes, and thats it. It also adds a few new things and makes some worse

cough The settings screen in AppCompat is sh*t

@TheComputerGuy96
Copy link

I need node.js on Android (because only Termux provides node.js Android package)

@fornwall
Copy link
Member

I'm sorry for it, but I think the honest thing to do here is to close the issue, as a version of Termux for Android versions older than 5.0 is just not going to happen.

Termux packages (as opposed to the app) are intimately coupled to details of the system libc, linker and kernel, in a way that makes it hard to support older version at the same time as newer ones in a robust way. Sorry for those affected - for devices stuck on older android versions, you may try out ZShaolin or Terminal-IDE as alternatives.

@laymonk
Copy link

laymonk commented Jan 1, 2017

It's a pity there is no plan to provide for kitkat, but I do understand the challenges stated. So, what to make of kitkatapk.com's port ?

I do wonder about packages support in this port .. Just pondering @fornwall's opinion of this port before attempting to use it.

@TheDiamondYT1
Copy link

Its fake

@TheDiamondYT1
Copy link

They litteraly just uploaded the apk and renamed it. You get parse error

@laymonk
Copy link

laymonk commented Jan 1, 2017

Thanks a million @TheDiamondYT1 .. Glad I asked first. Oh well, looks like I have to settle for the much lesser (sic) TerminalIDE, for now.

@QGB
Copy link

QGB commented Jan 17, 2017

mark

@MineFuehrer
Copy link

A pity then!

@axujen
Copy link

axujen commented Oct 26, 2017

Sorry to comment on a closed issue.
But if someone lands here through a search engine i would like to recommend an alternative to termux: entware-ng

its designed for routers, but it works on android perfectly and is even considerate of disk usage, they have a small guide on how to install it on android.

Its more effort but its a very robust solution, they even have avahi-daemon working which is great.
As for an android frontend, any terminal app will do, but i prefer to ssh into it through my computer.

@laymonk
Copy link

laymonk commented Oct 27, 2017

nice one, @axujen ..

entware-ng looks great .. package management included .. install any package in the huge list .. list includes practically all common unix/linux packages, servers .. impressive.

@the-geek-133
Copy link

I think it is possible if you can install a lightweight Linux distro using Android emulators like Limbo / Bochs. Another possibility is GnuRoot Debian by Corbin Champion or Debian Noroot by user "Pelya", although it is not as fast as Termux, it can hopefully install Node.js etc... Depending upon your device specs, you may go for lightweight distros such as lubuntu... It is also possible to use Debian, gentoo etc. with GUI using XServer XSDL or VNCViewer etc.. (I don't have good idea about this).

Good luck.. One compromise is Speed and ease of use like in Termux.. Although you may achieve many objectives..

@joeky888
Copy link

joeky888 commented May 8, 2018

For Android 4.4+ devices, no root, no SD card and don't even enable the Developer Options

Try Pydroid3 , which has python3-pip and busybox pre-installed.

If you want to use extra commands without using adb push (which requires Developer Options),

You can just use the Pydroid3 terminal to copy the command to the app home, like this

cp ~/Download/aria2c /data/data/ru.iiec.pydroid3/files/aria2c

chmod 777 /data/data/ru.iiec.pydroid3/files/aria2c

@DoktorStein
Copy link

@fornwall Yes, it'd be very useful to have Termux with no or lesser packages for Android 4.x. See #629.

@the-geek-133
Copy link

the-geek-133 commented Jun 24, 2018 via email

@DoktorStein
Copy link

Termux won't install on devices with Android < 5. I run Arch via Linux Deploy on Android 4 using jackpal's Terminal, but its not the same experience as Termux as a terminal emulator. So wether if using KBox or sh, I think it would be great to have Termux as a terminal emulator for older versions of Android.

@machunpo
Copy link

手上有很多的安卓老设备,想让它发挥余热。
I have a lot of Android old equipment, want them to continue working.

@ghost
Copy link

ghost commented Apr 19, 2019

We are phasing out Android 5/6 support, so requests for anything below Android 5 are pointless.

@termux termux locked as resolved and limited conversation to collaborators Apr 19, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests