I was wondering if you are planning to make a android build for KiCad? Obviously not to be used on a smartphone LCD with touch pad as it’s not adapted.
But smartphone are getting so powerfull that in the future lot of users will have only one device replacing laptops and desktop computers.
I seen some interesting project to add a desktop environment to Android :
Sentio App and “light laptop” hardware :
Keyboard-hub hardware :
Currently the only limitation of using smartphone as a computer is the availability of computer applications on Android. Therefor my question about android build
Perhaps you should turn the question around. Instead of asking if / when KiCad will support Android, ask your phone manufacturer when your phone will finally support normal Linux applications.
CAD programs really need better interface devices than touch screens. So you really need a mouse and a keyboard to work. I am not aware of a way to add a mouse and keyboard to a smartphone. (For mechanical CAD one might even add a 3d mouse to the list of requirements.)
There are bluetooth keyboards (and probably also mice), Ubuntu has tried for some time (about 2 years?) to market dual boot phones. On the road it behaved as a regular (android) smartphone, but at home you put it in a docking station to add a bigger monitor & keyboard & mouse and it runs regular Ubuntu. Unfortunately this failed.
I assume that for a smartphone to be considered “successfull” several million have to be sold, and a few hundred thousand is not enough.
Screensize is another issue. I have a dual monitor setup at home with 2 24" monitors, and it works reasonably with KiCad. The 2nd monitor is handy for “estra” things such as pre-viewing 3D footprints, opening datasheets, text editor with notes, or searching the occasional thing on the 'net. Even so, I’m saving money for a 40" 3840x2160 monitor for KiCad & FreeCAD.
Even if all (software) libraries KiCad depends on (such as WxWidgets, Python) were readily available on Android, the touch interface and yet another OS would bite into the very limited time te small development team of KiCad has. At the current moment there are still plenty of rough edges on KiCad and usability improvements which have a far higher priority.
If you want to port it yourself, there is of course no-one holding you back but yourself.
I can’t speak for Apple, but I do know Android has supported USB mice and keyboards since well before FroYo (release F). Using an adapter (depending on the USB port on the bottom of the phone) plug a mouse in and you actually get a desktop style mouse pointer. Throw in a USB hub and you can connect both a mouse and keyboard.
Using a CAD program on something like the largest screen Galaxy Note tablet (using the Wacom technology based S-Pen) might be possible. But, I don’t see it being all that practical.
That might be a bit extreme to be honest. Especially as there is no downside to anybody else. (Assuming the person doing this really is interested in this and there is no dev time taken away from other things.)
Once most of the boxes are green, you might be able to attempt a compile. Otherwise, I think there is a toy implementation of LibrePCB that compiles for Android as it is based on Qt.
I had a laugh at that WxAndroid site. A had full of “partials” and 100+ simple “NO’s”.
But the page was updated last in 2014, so it may have changed in the last 5 years though I actually find the situation quite sad.
There seem to be ways to run full Linux distributions on “Android hardware” though. As said before, Ubuntu had the dual-boot phone, some small boards such as the CubieBoard and boards from hardkernel can run either Linux or Android, and a quick look on https://search.f-droid.org/?q=linux&lang=en hints at projects like “AnLinux” and “UserLAnd” and maybe also other projects to turn regular Linux applications on Android devices. But I never tried to use a project like that.
Android needs a wrapper to integrate into the “app” framework. wxAndroid probably provides part of that, but there is still some work that each individual application needs to do.
IIRC Android devices, like the RaspberryPi, only support OpenGL ES.
Any Android port would probably start with making sure to use only GL functions in the ES subset (i.e. vertex buffers instead of glVertex calls, triangle fans instead of quads, …). Dealing with the app integration before we have a working canvas is kind of backwards.
There is an older port of gerbview to Android, called “Gerberoid”, but that hasn’t been updated in a while, probably since gerbview uses OpenGL.