Google has uploaded the majority of the remaining Chrome for Android code into the open-source Chromium repository. In other words, Chrome for Android now matches Chrome for desktop in terms of available open-source code, letting anyone examine, modify, and compile the project.
Chromium is the open-source Web browser project that shares much of the same code as Google Chrome, and new features are often added there first. Google intended for Chromium to be the name of the open-source project, while the final product name would be Chrome, but developers have taken the code and released versions under the Chromium name. Eventually, browser makers used it as a starting point; Opera, for example, switched its browser base to Chromium in 2013.
Until now, Chromium was largely a desktop-only affair. Last week, though, the Chrome for Android team held an AMA on Reddit, and we learned the tide would be turning.
Reddit user bongbongyeah asked: “When will we be able to build a fully fledged Chromium (not Chrome, i mean the Open Source counterpart) for Android?” The answer, courtesy of an Android Technical Program Manager, was straightforward: “Soon!”
That time has now come. A Chrome for Android software engineer posted on Reddit to say that “Chrome for Android is now almost entirely open-source.” The “almost” refers to licensing restrictions: media codecs and some of proprietary Google features can’t be included in Chromium.
Here is the description for the pertinent Chromium code review:
Upstream oodles of Chrome for Android code into Chromium.
This adds plenty of Android-specific code (Java, C++, and resources) in a few new folders:
– chrome/android/java_staging: will be merged into chrome/android/java in the nearish future
– chrome/android/javatests: chrome/android/javatests_shell will be merged into here incrementally as ChromeShell tests are converted to run against ChromePublic
– chrome/test/android/javatests_staging: will be merged into chrome/test/android/javatests in the nearish future
There are two important new build targets: chrome_public_apk and chrome_public_test_apk. chrome_public_apk is similar to chrome_shell_apk, but with even more features.
Expected effect on bot times: The new tests take about 5 minutes to run. Initially they’ll be enabled on an FYI bot, but will soon be moved to the CQ and main bots.
It turns out “oodles” translates to over 100,000 lines of code. That’s a lot of work to open up Android’s most popular browser.
As a result, developers can now create a full-fledged Chromium browser for Android. All they have to do is build the new chrome_public_apk target.
Until now, developers interested in building an Android browser had to base their work off of Firefox, or start with Chrome for the desktop and work their way towards a mobile version. This change means you can expect to see improved, as well as completely new, Android browsers from third-party developers.