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 · 37 comments

Comments

Projects
None yet
@valerio-bozzolan

valerio-bozzolan commented Oct 28, 2015

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

This comment has been minimized.

Show comment
Hide comment
@ZatsuneNoMokou

ZatsuneNoMokou Oct 31, 2015

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

ZatsuneNoMokou commented Oct 31, 2015

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

@fornwall

This comment has been minimized.

Show comment
Hide comment
@fornwall

fornwall Oct 31, 2015

Contributor

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?

Contributor

fornwall commented Oct 31, 2015

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

This comment has been minimized.

Show comment
Hide comment
@ZatsuneNoMokou

ZatsuneNoMokou Oct 31, 2015

It mean, without things like nano?

ZatsuneNoMokou commented Oct 31, 2015

It mean, without things like nano?

@fornwall

This comment has been minimized.

Show comment
Hide comment
@fornwall

fornwall Nov 3, 2015

Contributor

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...

Contributor

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

This comment has been minimized.

Show comment
Hide comment
@ZatsuneNoMokou

ZatsuneNoMokou Nov 3, 2015

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

ZatsuneNoMokou commented Nov 3, 2015

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

@skeevy420

This comment has been minimized.

Show comment
Hide comment
@skeevy420

skeevy420 Nov 9, 2015

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.

skeevy420 commented Nov 9, 2015

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

This comment has been minimized.

Show comment
Hide comment
@linhua55

linhua55 Dec 18, 2015

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

linhua55 commented Dec 18, 2015

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

@ThePreviousOne

This comment has been minimized.

Show comment
Hide comment
@ThePreviousOne

ThePreviousOne Dec 28, 2015

@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

ThePreviousOne commented Dec 28, 2015

@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

This comment has been minimized.

Show comment
Hide comment
@joakim-noah

joakim-noah Jan 2, 2016

@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).

joakim-noah commented Jan 2, 2016

@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

This comment has been minimized.

Show comment
Hide comment
@franciscod

franciscod Jan 17, 2016

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

franciscod commented Jan 17, 2016

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

@easyaspi314

This comment has been minimized.

Show comment
Hide comment
@easyaspi314

easyaspi314 Feb 13, 2016

Contributor

I have a 2.3.7 armv6 phone if it will help.

Contributor

easyaspi314 commented Feb 13, 2016

I have a 2.3.7 armv6 phone if it will help.

@joakim-noah

This comment has been minimized.

Show comment
Hide comment
@joakim-noah

joakim-noah Feb 15, 2016

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

joakim-noah commented Feb 15, 2016

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

@franciscod

This comment has been minimized.

Show comment
Hide comment
@franciscod

franciscod Feb 15, 2016

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

franciscod commented Feb 15, 2016

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

@voidling42

This comment has been minimized.

Show comment
Hide comment
@voidling42

voidling42 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

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

This comment has been minimized.

Show comment
Hide comment
@easyaspi314

easyaspi314 May 4, 2016

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.

Contributor

easyaspi314 commented May 4, 2016

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

This comment has been minimized.

Show comment
Hide comment
@spaesani

spaesani Jul 14, 2016

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 commented Jul 14, 2016

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

This comment has been minimized.

Show comment
Hide comment
@spaesani

spaesani Jul 14, 2016

Backported the android.system.os code..

any indication of what other new apis were used is appreciated

spaesani commented Jul 14, 2016

Backported the android.system.os code..

any indication of what other new apis were used is appreciated

@spaesani

This comment has been minimized.

Show comment
Hide comment
@spaesani

spaesani Jul 14, 2016

jni looks pretty std..

spaesani commented Jul 14, 2016

jni looks pretty std..

@spaesani

This comment has been minimized.

Show comment
Hide comment
@spaesani

spaesani Jul 14, 2016

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

spaesani commented Jul 14, 2016

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

@Neo-Oli Neo-Oli added the enhancement label Jul 26, 2016

@TheDiamondYT1

This comment has been minimized.

Show comment
Hide comment
@TheDiamondYT1

TheDiamondYT1 Sep 29, 2016

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)

TheDiamondYT1 commented Sep 29, 2016

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

This comment has been minimized.

Show comment
Hide comment
@easyaspi314

easyaspi314 Sep 29, 2016

Contributor
Contributor

easyaspi314 commented Sep 29, 2016

@TheDiamondYT1

This comment has been minimized.

Show comment
Hide comment
@TheDiamondYT1

TheDiamondYT1 Sep 29, 2016

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

TheDiamondYT1 commented Sep 29, 2016

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

@dylanaraps dylanaraps referenced this issue Oct 18, 2016

Merged

Add Android support 2 #322

4 of 5 tasks complete
@TheComputerGuy96

This comment has been minimized.

Show comment
Hide comment
@TheComputerGuy96

TheComputerGuy96 Nov 13, 2016

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

TheComputerGuy96 commented Nov 13, 2016

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

@fornwall

This comment has been minimized.

Show comment
Hide comment
@fornwall

fornwall Dec 26, 2016

Contributor

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.

Contributor

fornwall commented Dec 26, 2016

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.

@fornwall fornwall closed this Dec 26, 2016

@laymonk

This comment has been minimized.

Show comment
Hide comment
@laymonk

laymonk 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.

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

This comment has been minimized.

Show comment
Hide comment
@TheDiamondYT1

TheDiamondYT1 commented Jan 1, 2017

Its fake

@TheDiamondYT1

This comment has been minimized.

Show comment
Hide comment
@TheDiamondYT1

TheDiamondYT1 Jan 1, 2017

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

TheDiamondYT1 commented Jan 1, 2017

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

@laymonk

This comment has been minimized.

Show comment
Hide comment
@laymonk

laymonk 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.

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

This comment has been minimized.

Show comment
Hide comment
@QGB

QGB commented Jan 17, 2017

mark

@MineFuehrer

This comment has been minimized.

Show comment
Hide comment
@MineFuehrer

MineFuehrer Apr 6, 2017

A pity then!

MineFuehrer commented Apr 6, 2017

A pity then!

@axujen

This comment has been minimized.

Show comment
Hide comment
@axujen

axujen 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.

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

This comment has been minimized.

Show comment
Hide comment
@laymonk

laymonk 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.

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

This comment has been minimized.

Show comment
Hide comment
@the-geek-133

the-geek-133 Mar 13, 2018

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..

the-geek-133 commented Mar 13, 2018

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

This comment has been minimized.

Show comment
Hide comment
@joeky888

joeky888 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

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

This comment has been minimized.

Show comment
Hide comment
@DoktorStein

DoktorStein Jun 5, 2018

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

DoktorStein commented Jun 5, 2018

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

@the-geek-133

This comment has been minimized.

Show comment
Hide comment
@the-geek-133

the-geek-133 Jun 24, 2018

the-geek-133 commented Jun 24, 2018

@DoktorStein

This comment has been minimized.

Show comment
Hide comment
@DoktorStein

DoktorStein Jul 1, 2018

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.

DoktorStein commented Jul 1, 2018

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment