Anyone has an idea if it is feasible to get the touchscreen open enough to install an apk? Just watched this: How to run OctoPrint on your phone! - YouTube - that would be just great if we could put this on the touchscreen…
Nothing that’s I know. I must-have admitted I haven’t tied yet. Bütgenbach as for as I understood, the device also doesn’t identify as a USB devices when connected to a computer. The issues for opening the source for the HMI are still open…
@Hauke android itself was designed with the intention of being open source. But Snapmaker has refused to release the source code despite that fact. It is possible to do it on the touchscreen but I’ve never done an android and would not know how to advise on doing it.
Well, while Android is open source, it’s also designed to be used in an closed source setting. Especially apps are very rarely open source, including apps from Google is creator (mostly) of Android itself.
IMO that doesn’t really matter and Snapmaker could (and should) releasethe source code anyway, but that’s independent of the underlying system.
It’s not so easy. Even if the source code were open source, the only way to install software on the touchscreen AFAICT is the update process, which installs a regular Android app update. Android only allows updates if the new app is signed with the same certificate as the older version, so without Snapmaker’s help we can’t install software there.
(You could try to disassemble the module and see if there are any debugging ports on the board, but in contrast to the other modules there does not seem to be a reasonable non-destructive way to open it.)
@zauguin I did say I’ve never done an android, android was designed to be open source but being closed source as well kind of goes without saying, there are already plenty of items out there that are built upon android and are closed source. Don’t mistake my comment to mean that it would be simple, I never stated anything of the sort. Just because I’ve never done an android doesn’t mean I don’t know how it works. The fact that I said “but Snapmaker has refused to release the source code” was me implying Snapmaker’s help would be needed. The touchscreen isn’t even needed to run the machine either so…
The touch screen just runs an apk file, it’s delivered in the firmware updates.
Unfortunately, since it’s just an update, and not an uninstall/reinstall, there’s no way to change the code even after you decompile it (we’ll, you could play with the xml files maybe, but messing with the layout isn’t exactly useful).
One thing I did see I think, is that the apk actually has another apk inside it. The inner apk is simply a bootstrap updater app, and it seems it’ll actually be installed when an update to the main app fails. You could probably get the machine to fail to update, and then it’d install the inner apk, so you could swap that out for something like a normal launcher, and have the outer app as just a normal app. But, this could probably also easily “brick” the machine, since that process is supposed to be the fallback mechanism. I’m not sure if there’s another way to “hard reset” back to factory settings, you’d probably need to find some jtag somewhere like suggested above.