[General Topics] NoahDomingues:
View attachment 6044193

Hey, everyone here on XDA!

The title of this thread is not simply to draw you in; this is, really, the most difficult android challenge ever! Read on...

A fellow XDA user, @Munk.3, and I have taken on a project to mod a digital media player running Android 4.4.2 KitKat. Sound easy? Think again.

The basic idea of what we are doing is building a new system image on top of the existing one, with a ton of new features that the device should have come with from the very beginning (such as APK installations, newer built-in apps (such as Chrome, the device ships with version 54 which is not very functional), and in general a lot more customization. It's pretty hard but I'm sure it would be a lot easier if we had people with the knowledge and experience to be able to do this sort of thing.

The device we are trying to mod is the Timmkoo Q5, available at

Amazon

currently for $42.48. We assumed that such a simple device would be pretty easy to break into, however, we were wrong. The device is very capable and possesses the resources to do much of what you might expect from an Android device, however, the manufacturers have locked it down in such a way that we can't even install APKs via Package Manager. I have provided some info about the device below, and some more details about what we are trying to do for you to read over, and hopefully you might be interested in getting involved!

About the device:

The device is the Timmkoo Q5 and runs Android 4.4.2 (KitKat) with an MTK 6582 chip. The Android build that it runs is pretty much just basic AOSP Android, except with a bunch of features removed (for example, the Settings app has most of the main options removed). It comes with no ADB drivers (any attempt to send ADB commands results in an "offline" error), we have found no way to boot the device into recovery mode (despite there being a recovery image installed on the device), and there has been no mod support from anyone, even on XDA, so there is no chance of having TWRP or any sort of custom ROM available. Originally, there had been no way to flash firmware to the device, so I had pretty much given up after trying for over a year, however, @Munk.3 has, through an intricate process of extracting software out of Chinese customer service agents, managed to get a copy of SP (smartphone) Flash Tool, a Windows program for flashing MTK devices (available to download along with the current firmware in his XDA thread). He also obtained a copy of the default firmware for the device. He has been trying to mod the system.img and boot.img files, with some results, however, it's very hard and we aren't having much luck. APKs can be opened on the device, except we were never able to get past the “Allow Apps from Unknown Sources” prompt because when we click the “Settings” button in the prompt, it turns out that the manufacturer has removed the option to allow apps from unknown sources.

By modding the system.img file, @Munk.3 has successfully managed to replace the default launcher, “Launcher3” by replacing Launcher3.apk in the /system/app folder, and he managed to somehow enable Apps from Unknown Sources by editing SettingsProvider.apk in /system/priv-app, by decompiling, modifying and recompiling the APK in system.img and then flashing the firmware with the new, modified system.img file to the device. However, although the prompt has gone, when attempting to install APK files, after clicking “install”, Package Installer immediately shows “App Not Installed”, without appearing to even attempt to install the app. The APKs can definitely run on the device (for example, when installing via APK, the APKPure app fails to install, however when flashing the device with APKPure.apk in the /system/app directory, the app runs normally, meaning the error has nothing to do with the app being unable to run on the player), so we believe this might be due to some sort of permission error, however where we would find this we have no idea (maybe something inside PackageInstaller.apk or SettingsProvider.apk, we have no idea. He also managed to install APKPure by including it in the /system/app folder, which runs normally, however, when flashing apps such as Minecraft PE or Hidden Settings, the icons appear on the home screen of the device but they fail to run. @Munk.3 says when flashing applications using this method, there’s about a 50/50 chance they will actually run.

As I mentioned, ADB commands are disabled, and the device shows up in ADB as “offline”. At first, I thought this might be due to USB debugging not being enabled, and I was unable to get to Developer Options through the Settings app (the manufacturer removed the ability to repeatedly tap on the “Build number” section to enable developer options). However, I managed to find a workaround to access Developer Options, and it turns out that USB debugging is already enabled by default. So, I assumed the issue might be because I did not have a USB driver for the device, so I tried contacting the manufacturer to see if I could get one, however they wouldn’t give me one (and there are none published online), so I tried accessing the device over ADB in Ubuntu, as I had heard that Linux does not require ADB divers. However, the same “device offline” error occurs just the same. We did a little digging, and we believe the offline error might be due to the fact that there is no ADB prompt appearing on the device when attempting to send ADB commands, which is a requirement. Nothing comes up at all. It is possible that the manufacturer could have removed the prompt from the device, in which case we have no idea what to do (another example of where some Android expertise might come in handy).

If you are interested in helping out or joining us on our Android journey, feel free to reply to this thread or send a message to either @Munk.3 or me (@NoahDomingues)!

You can take a look at @Munk.3’s main XDA thread for this project here: https://xdaforums.com/t/tmmkoo-q5-o...-moding-update-first-release-12-10-23.4643981

[THIS IS WHERE ALL INFORMATION WILL BE POSTED! - @Munk.3 will continue to update the thread as developments are made, so make sure to head over there and say hello! (and watch the thread!)]

Cheers! Noah =)