The beauty of open source
The next major version of Google’s Android OS, Android 10 Q, is available in beta for the Pixel smartphones and over a dozen non-Google phones. There’s a good variety of non-Google options for the Android Q beta, including phones like the Huawei Mate 20 Pro, OnePlus 7 Pro, Xiaomi Mi 9, LG G8 ThinQ, and more. One smartphone brand that also offers an Android Q beta is General Mobile, although they aren’t listed on Google’s official website for the beta. This Turkish brand offers an Android 10 beta for its General Mobile 9 Pro and General Mobile 8 devices. How did this brand release a beta without being part of the official program? They used a Generic System Image. Not even the official GSI, however — they’re actually distributing a GSI based heavily on work by XDA Recognized Developers erfanoabdi and phhusson, as first discovered by XDA Senior Member EnesSastim.
According to Turkish media, General Mobile announced their Android Q builds last week. Although the beta sign-up process has been closed, Turkish fan forum GSMTurkey still has download links to the Q builds if you’re a registered member. Fortunately, General Mobile’s official GSMTurkey forum account published the thread, providing verification as to the builds’ authenticities. A quote of the initial forum post and Bing’s cache shows that the initial post has been edited to provide credits to both erfanoabdi and phhusson. Neither developer is upset that their work is being used (at least, they’re no longer upset after GM gave them credit), but it’s still hilarious that an Android smartphone brand is using the hacked-together work from third-party developers and passing it off as their “Android Q beta.”
General Mobile’s Android Q Beta – Evidence it’s a community GSI
erfanoabdi and phhusson’s fingerprint are all over the Q builds that GM released. A dump of the General Mobile 9 Pro’s Q beta is available online, but we also downloaded the build to confirm the findings. First, in /system, there are two folders called “ph” and “phh” which phhusson says he made to hold files necessary for dynamically overriding other files on a per-device basis. Next, the rw-system.sh script has a lot of if statements to modify different parts of the system based on what device the GSI is being installed on; it’s basically a giant hack to make erfanoabdi’s GSI compatible on as many smartphones as possible. There are even files with erfanoabdi’s signature still in them, and APKs with his username in the package name.
It seems that GM barely made any modifications to the Q GSI that erfanoabdi shares on our forums. GM basically changed a few build properties and shipped the build. It makes sense for them to use a community GSI rather than Google’s official GSI since the community GSI has a ton of hardware fixes, but phhusson says there are also a lot of changes that would be useless on an Android Pie vendor image. The fact that GM even bothered rebranding a community GSI means they didn’t receive the Android Q beta source code from Google, so they have to wait for Google to upload the source code to AOSP if they want to make a real Q build. Or, they could shamelessly pull a GSI from our Project Treble forums and release it as an “official” Android Q beta. Fortunately for our amusement, they picked the latter option.
Want more posts like this delivered to your inbox? Enter your email to be subscribed to our newsletter.