UXP for Android?

General project discussion.
Use this as a last resort if your topic does not fit in any of the other boards but it still on-topic.
Forum rules
This General Discussion board is meant for topics that are still relevant to Pale Moon, web browsers, browser tech, UXP applications, and related, but don't have a more fitting board available.

Please stick to the relevance of this forum here, which focuses on everything around the Pale Moon project and its user community. "Random" subjects don't belong here, and should be posted in the Off-Topic board.
User avatar
PseudoDistant
Moonbather
Moonbather
Posts: 73
Joined: 2024-02-06, 20:19

UXP for Android?

Unread post by PseudoDistant » 2024-03-12, 04:13

(I couldn't rename the old thread I'm sorry)

The more I look into it, the more invested I become.
I don't know why, but I'm very drawn to the idea of reviving the Fennec layout.
Maybe it's nostalgia for the childhood days spent binging ExplodingTNT videos on Firefox 30 w/ Android 2.3.6, couldn't tell you.
I've managed to figure out exactly what I was doing wrong last time, and now the new issue is this happened. :(
https://repo.palemoon.org/MoonchildProd ... ssues/1053
I know that, in theory, it should be possible to do most of the Android specific stuff in the platform code, instead of UXP itself (or I think so).
But it seems the build logic for Android has also been ripped out of UXP, I can't seem to get mach to run with the Android SDK.
I can build Firefox 52 for Android kinda, it crashes on start, but I think that's down to Firefox 52 Mach still trying to use SDK 9 while I try to hack SDK 30 into it. :D

Is it possible to make Mach use the Android SDK again without outright forking UXP entirely?
Is it worth it to do it this way as opposed to just running Basilisk with a funne theme via Termux and XServer XSDL (funne X11 server app for Android), and deal with the poor keyboard support and complete lack of touch support?
Why am I asking so many questions?
And more importantly, who the hell is Steve Jobs???

Find out on the next exciting episode of Dragon Ball Z!
Eat your school.
Eat your drugs.
Eat your teeth.

User avatar
athenian200
Contributing developer
Contributing developer
Posts: 1537
Joined: 2018-10-28, 19:56
Location: Georgia

Re: UXP for Android?

Unread post by athenian200 » 2024-03-12, 04:50

Android support was removed from UXP intentionally a long time ago.

https://repo.palemoon.org/MoonchildProd ... ssues/1053

Probably you would have to fork UXP to add it back, but you could probably get an idea of what's needed by looking at our code removals if you really want to try and do it. It's worth noting that whatever you restore will probably be broken, as we obviously have never built UXP on Android.

I really have doubts it would work with modern Android, because Android likely changes too fast for our codebase.

EDIT: Also, if you want to use the same fork point we did and mess with the original Mozilla code without any of our changes, that fork point is not just vanilla Firefox 52, it's specifically Firefox 52.6.0 ESR. There are a couple of subtle and annoying differences if you compare it to base 52, or to the final version of ESR 52. In other words, we forked during the 52 ESR lifecycle before it was complete.
"The Athenians, however, represent the unity of these opposites; in them, mind or spirit has emerged from the Theban subjectivity without losing itself in the Spartan objectivity of ethical life. With the Athenians, the rights of the State and of the individual found as perfect a union as was possible at all at the level of the Greek spirit." -- Hegel's philosophy of Mind

User avatar
andyprough
Keeps coming back
Keeps coming back
Posts: 752
Joined: 2020-05-31, 04:33

Re: UXP for Android?

Unread post by andyprough » 2024-03-12, 05:13

PseudoDistant wrote:
2024-03-12, 04:13
Is it worth it to do it this way as opposed to just running Basilisk with a funne theme via Termux and XServer XSDL (funne X11 server app for Android), and deal with the poor keyboard support and complete lack of touch support?
I ran Pale Moon 29.4.5.1 on Android via Termux a couple of years ago and had touch working: viewtopic.php?f=65&t=28104

It may be because I was using a full XFCE desktop. Not sure - I didn't really know what I was doing but just pieced the whole thing together from a lot of research and some guesswork. Anyway, maybe that will be of some help to you, I wrote about my whole setup and the commands I was using in that thread. I did get it up and running again recently, I think about Pale Moon version 32.5 or so, and still had touch working.

Note: Steve Pusser's armhf builds are now under his Debian and Ubuntu repos: https://download.opensuse.org/repositor ... venpusser/
I've wondered if one of those builds could be made to run more directly in Android. But I wouldn't have the slightest idea how to do it. Probably not since they are Debian packages. You could almost certainly run his arm64 builds natively on a PinePhone or a Pinebook though, I would think.

User avatar
PseudoDistant
Moonbather
Moonbather
Posts: 73
Joined: 2024-02-06, 20:19

Re: UXP for Android?

Unread post by PseudoDistant » 2024-03-12, 06:03

athenian200 wrote:
2024-03-12, 04:50
Probably you would have to fork UXP to add it back, but you could probably get an idea of what's needed by looking at our code removals if you really want to try and do it. It's worth noting that whatever you restore will probably be broken, as we obviously have never built UXP on Android.
Someone did actually succeed in making a build of Pale Moon pre-UXP, I think I still have it somewhere.
athenian200 wrote:
2024-03-12, 04:50
I really have doubts it would work with modern Android, because Android likely changes too fast for our codebase.
To my understanding (I actually have experience in Android app development so I'm more confident here than I normally am), Android since version 5.0 has actually been fairly stable.
An app built for Android 2.3 might struggle to run on Android 14, but generally apps for Android 5 don't have any real issues.
If it's using APIs provided by Google Play Services, that's another story.
Google Play Services is just Google being #quirky and trying to gatekeep newer Android features behind proprietary code. Not much has changed outside of that since around 2016. (Even modern Firefox runs on Android without Google Play Services, I'm confident that UXP could too, and it won't need to worry much about Google breaking anything anymore.)
athenian200 wrote:
2024-03-12, 04:50
EDIT: Also, if you want to use the same fork point we did and mess with the original Mozilla code without any of our changes, that fork point is not just vanilla Firefox 52, it's specifically Firefox 52.6.0 ESR.
That's good to know, actually...
I guess, push comes to shove, I could try to just strongarm the original Mach back into it, see what I can do from there.
Though I might try reverting the unAndroidification of UXP first.
Eat your school.
Eat your drugs.
Eat your teeth.

User avatar
PseudoDistant
Moonbather
Moonbather
Posts: 73
Joined: 2024-02-06, 20:19

Re: UXP for Android?

Unread post by PseudoDistant » 2024-03-12, 06:09

andyprough wrote:
2024-03-12, 05:13
I ran Pale Moon 29.4.5.1 on Android via Termux a couple of years ago and had touch working: viewtopic.php?f=65&t=28104

It may be because I was using a full XFCE desktop. Not sure - I didn't really know what I was doing but just pieced the whole thing together from a lot of research and some guesswork. Anyway, maybe that will be of some help to you, I wrote about my whole setup and the commands I was using in that thread. I did get it up and running again recently, I think about Pale Moon version 32.5 or so, and still had touch working.
In all fairness, I did only use OpenBox, might work better with a full desktop, but my phone isn't on the high end of powers. :(
Eat your school.
Eat your drugs.
Eat your teeth.