Skip to content
This repository was archived by the owner on Apr 1, 2023. It is now read-only.

Commit 68ed09a

Browse files
committed
Add ChromePublic target
1 parent 0c450d9 commit 68ed09a

13 files changed

+163
-126
lines changed

CHANGELOG.md

Lines changed: 38 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,52 @@
1-
# 74.0.3729.169-1
2-
* First release
1+
# 79.0.3945.117-2
2+
* Add ChromePublic target (API 19)
3+
* Fix build failure for safe browsing
4+
* Update `README`
35

4-
# 75.0.3770.80-1
5-
* Reduce downloaded dependencies on gclient sync
6-
* Prune more binaries
7-
* Build gcm-client, eu-strip, closure-compiler from source; change error-prone to Maven version
8-
* Domain substitution on all non-binary files
6+
# 79.0.3945.117-1
7+
* Update NDK to r20b
8+
* Remove split installer dependencies (Google Play), disable DFM
9+
* Other source fixes
10+
* Known issue: ~~some pages, including `chrome://flags`, `chrome://gpu` are not working~~ (Fixed)
911

10-
# 75.0.3770.100-1
11-
* Change package name to avoid conflict with chromium
12+
# 78.0.3904.97-1
13+
* Update scripts and patches to new version
14+
* Merge patches from Bromite and Unobtainium
15+
* New dependencies: nodejs binaries, lib files from ndk
1216

13-
# 75.0.3770.142-1
14-
* Fix [#3](https://github.com/wchen342/ungoogled-chromium-android/issues/3)
15-
* Disable resource obfuscation
16-
* Add arm build
17+
# 77.0.3865.90-1
18+
* Update patches to new version
19+
* Update GN to latest commit
20+
* Minor fixes
1721

18-
# 75.0.3770.142-2
19-
* Remove all Google Play related libraries
20-
* Uncheck "Send statistics" on first run
22+
# 76.0.3809.132-1
23+
* No change
24+
25+
# 76.0.3809.100-1
26+
* Change default setting of contextual search to false
2127

2228
# 76.0.3809.87-1
2329
* Add WebView builds
2430
* Since `aapt` no longer works, bundled `aapt2` will be used until a rebuild of SDK 29 exists
2531
* Minor bug fixes
2632

27-
# 76.0.3809.100-1
28-
* Change default setting of contextual search to false
33+
# 75.0.3770.142-2
34+
* Remove all Google Play related libraries
35+
* Uncheck "Send statistics" on first run
2936

30-
# 76.0.3809.132-1
31-
* No change
37+
# 75.0.3770.142-1
38+
* Fix [#3](https://github.com/wchen342/ungoogled-chromium-android/issues/3)
39+
* Disable resource obfuscation
40+
* Add arm build
3241

33-
# 77.0.3865.90-1
34-
* Update patches to new version
35-
* Update GN to latest commit
36-
* Minor fixes
42+
# 75.0.3770.100-1
43+
* Change package name to avoid conflict with chromium
3744

38-
# 78.0.3904.97-1
39-
* Update scripts and patches to new version
40-
* Merge patches from Bromite and Unobtainium
41-
* New dependencies: nodejs binaries, lib files from ndk
45+
# 75.0.3770.80-1
46+
* Reduce downloaded dependencies on gclient sync
47+
* Prune more binaries
48+
* Build gcm-client, eu-strip, closure-compiler from source; change error-prone to Maven version
49+
* Domain substitution on all non-binary files
4250

43-
# 79.0.3945.117-1
44-
* Update NDK to r20b
45-
* Remove split installer dependencies (Google Play), disable DFM
46-
* Other source fixes
47-
* Known issue: ~~some pages, including `chrome://flags`, `chrome://gpu` are not working~~ (Fixed)
51+
# 74.0.3729.169-1
52+
* First release

README.md

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ For more information on `ungoogled-chromium`, please visit the original repo: [E
1313
## Content Overview
1414

1515
* [Differences from ungoogled-chromium](#differences-from-ungoogled-chromium)
16-
* [Supported Platforms](#supported-platforms)
16+
* [Platforms and Versions](#platforms-and-versions)
1717
* [Building Instructions](#building-instructions)
1818
* [Reporting and Contributing](#reporting-and-contributing)
1919
* [F-droid Repository](#f-droid-repository)
@@ -29,20 +29,23 @@ For more information on `ungoogled-chromium`, please visit the original repo: [E
2929
* Android specific patches and fixes are applied.
3030
* Default configuration builds for `arm64` instead of `x64`.
3131

32-
## Supported Platforms
32+
## Platforms and Versions
3333

34-
The current build has been tested on:
35-
* cpu_arch: `x86`, `arm`, `arm64`
36-
* OS: API 28 (Android 9.0), API 27 (Android 8.1), LineageOS 16.0
37-
38-
Theoretically it will run on any device with a minimum API of 24 (Nougat).
34+
Pre-built apks are named as `{BUILD_TARGET}_{CPU_ARCH}.apk`, where:
35+
* `{BUILD_TARGET}` is one of `ChromePublic`, `MonoChromePublic`, `SystemWebview`.
36+
* `ChromePublic` is for API > 19 (Android 4.4) and only contains the browser.
37+
* `MonoChromePublic` is for API > 24 (Android 7.0) and contains both the browser and the webview.
38+
* `SystemWebview` is for API 21 - 23 (Android 5.0 - 6.0) and only contains the webview.
39+
* `{CPU_ARCH}` is one of `x86`, `arm` (armeabi-v7a), `arm64` (arm64-v8a).
40+
* Please also read this [important note](https://chromium.googlesource.com/chromium/src/+/HEAD/android_webview/docs/build-instructions.md#Important-notes-for-N_P) about Webview on Android N-P.
41+
* The [Bromite Wiki](https://github.com/bromite/bromite/wiki/Installing-SystemWebView) can also be helpful.
3942

4043

4144
## Building Instructions
4245
*This build is built from Sylvain Beucler's [libre Android rebuilds](https://android-rebuilds.beuc.net/) instead of SDK/NDK binaries from Google.*
4346

4447
* Clone this repository
45-
* If you want to enable proprietary codecs (h264, mp3, mp4, etc.), add `proprietary_codecs=true` to the end of `android_flags.gn`
48+
* ~~If you want to enable proprietary codecs (h264, mp3, mp4, etc.), add `proprietary_codecs=true` to the end of `android_flags.gn`.~~ It is now the default, since `proprietary_codecs` does not add the actual codecs, only codes to handle those file types.
4649
* enter repo directory and run `./build.sh`.
4750

4851
Build time dependencies can be roughly referred from [AUR](https://aur.archlinux.org/packages/ungoogled-chromium/).

android_flags.gn

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
android_channel="stable"
2-
android32_ndk_api_level=21
3-
android64_ndk_api_level=21
42
android_ndk_root = "//third_party/android_ndk"
53
android_ndk_version = "r20b"
64
android_ndk_major_version = 20

build.sh

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@ set -eux -o pipefail
33

44
chromium_version=79.0.3945.117
55
ungoogled_chromium_revision=1
6+
chrome_target=chrome_public_apk
67
monochrome_target=monochrome_public_apk
7-
monochrome_webview_target=system_webview_apk
8+
webview_target=system_webview_apk
89

910
# Required tools: python2, python3, ninja, git, clang, lld, llvm, curl, wget, npm
1011
# Assuming default python to be python2. This is true on most Linux distributions.
@@ -218,6 +219,7 @@ patch -p1 --ignore-whitespace -i patches/ignore-aidl-assertion-error.patch --no-
218219

219220
## Build
220221
pushd src
222+
/usr/bin/ninja -C out/Default ${chrome_target}
221223
/usr/bin/ninja -C out/Default ${monochrome_target}
222-
/usr/bin/ninja -C out/Default ${monochrome_webview_target}
224+
/usr/bin/ninja -C out/Default ${webview_target}
223225
popd

misc/android_studio_setup.sh

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@
22
set -eux -o pipefail
33

44
chromium_version=79.0.3945.117
5-
target=monochrome_public_apk
6-
#target=system_webview_apk
5+
chrome_target=chrome_public_apk
6+
monochrome_target=monochrome_public_apk
7+
webview_target=system_webview_apk
78

89
# Create symbol links to gn, depot-tools
910
pushd src
@@ -38,7 +39,7 @@ cat ../android_flags.debug.gn ../android_flags.gn > ${output_folder}/args.gn
3839
tools/gn/out/gn gen ${output_folder} --fail-on-unused-args
3940

4041
# Compile apk
41-
/usr/bin/ninja -C ${output_folder} ${target}
42+
/usr/bin/ninja -C ${output_folder} ${monochrome_target}
4243
popd
4344

4445
###
@@ -56,5 +57,5 @@ tools/gn/out/gn gen ${output_folder} --fail-on-unused-args
5657
pushd ..
5758
patch -p1 --ignore-whitespace -i patches/generate_gradle.patch --no-backup-if-mismatch
5859
popd
59-
python build/android/gradle/generate_gradle.py --target //chrome/android:${target} --output-directory ${output_folder}
60+
python build/android/gradle/generate_gradle.py --target //chrome/android:${monochrome_target} --output-directory ${output_folder}
6061
popd

patches/Unobtainium/kill-GCM.patch

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,15 @@ Subject: kill GCM
1111
.../browser/services/gcm/GCMBackgroundTask.java | 2 +-
1212
.../gcm/InvalidationGcmUpstreamSender.java | 18 --
1313
components/background_task_scheduler/BUILD.gn | 1 -
14-
.../BackgroundTaskSchedulerGcmNetworkManager.java | 208 +--------------------
14+
.../BackgroundTaskSchedulerGcmNetworkManager.java | 206 +--------------------
1515
components/gcm_driver/android/BUILD.gn | 1 -
1616
components/gcm_driver/instance_id/android/BUILD.gn | 1 -
1717
.../gcm_driver/instance_id/InstanceIDBridge.java | 52 +-----
1818
components/sync/android/BUILD.gn | 1 -
1919
third_party/cacheinvalidation/BUILD.gn | 6 -
2020
.../client/contrib/MultiplexingGcmListener.java | 91 +--------
2121
.../android2/channel/AndroidNetworkChannel.java | 6 +-
22-
16 files changed, 10 insertions(+), 496 deletions(-)
22+
16 files changed, 10 insertions(+), 494 deletions(-)
2323

2424
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
2525
--- a/chrome/android/BUILD.gn
@@ -43,7 +43,7 @@ diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java
4343
"java/src/org/chromium/chrome/browser/ChromeBackupAgent.java",
4444
"java/src/org/chromium/chrome/browser/ChromeBackupWatcher.java",
4545
"java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java",
46-
@@ -1438,11 +1437,6 @@ chrome_java_sources = [
46+
@@ -1437,11 +1436,6 @@ chrome_java_sources = [
4747
"java/src/org/chromium/chrome/browser/services/AndroidEduAndChildAccountHelper.java",
4848
"java/src/org/chromium/chrome/browser/services/AndroidEduOwnerCheckCallback.java",
4949
"java/src/org/chromium/chrome/browser/services/GoogleServicesManager.java",
@@ -354,7 +354,7 @@ diff --git a/components/background_task_scheduler/android/java/src/org/chromium/
354354
import org.chromium.base.Log;
355355
import org.chromium.base.ThreadUtils;
356356
import org.chromium.base.VisibleForTesting;
357-
@@ -43,212 +35,14 @@ class BackgroundTaskSchedulerGcmNetworkManager implements BackgroundTaskSchedule
357+
@@ -43,212 +35,16 @@ class BackgroundTaskSchedulerGcmNetworkManager implements BackgroundTaskSchedule
358358
sClock = clock;
359359
}
360360

@@ -517,7 +517,7 @@ diff --git a/components/background_task_scheduler/android/java/src/org/chromium/
517517
- return Task.NETWORK_STATE_ANY;
518518
- }
519519
-
520-
- @Override
520+
@Override
521521
public boolean schedule(Context context, @NonNull TaskInfo taskInfo) {
522522
ThreadUtils.assertOnUiThread();
523523

@@ -541,7 +541,7 @@ diff --git a/components/background_task_scheduler/android/java/src/org/chromium/
541541
+ return false;
542542
}
543543

544-
- @Override
544+
@Override
545545
public void cancel(Context context, int taskId) {
546546
ThreadUtils.assertOnUiThread();
547547
-

patches/series

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ src-fix/fix-null-mInstanceID.patch
33
src-fix/fix-unkown-warning-clang-9.patch
44
src-fix/fix-safe-browsing-prefs.patch
55
src-fix/fix-wrong-macro-kSigninAllowedOnNextStartup.patch
6+
src-fix/fix-extra-safe-browsing.patch
67
Vanadium/0020-disable-media-router-media-remoting-by-default.patch
78
Vanadium/0021-disable-media-router-by-default.patch
89
Unobtainium/kill-Auth.patch
@@ -12,7 +13,6 @@ Unobtainium/kill-Vision.patch
1213
Unobtainium/kill-Translate.patch
1314
Unobtainium/kill-TOS-and-metrics-opt-out.patch
1415
ungoogled-chromium-android/change-package-name-chromium.patch
15-
ungoogled-chromium-android/linker-android-support-remove.patch
1616
ungoogled-chromium-android/Remove-dependency-on-com.google.android.gcm.patch
1717
ungoogled-chromium-android/Remove-dependency-on-com.google.android.gms.gcm.patch
1818
ungoogled-chromium-android/Remove-dependency-on-com.google.android.gms.auth.patch
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
From: Wengling Chen <feiyu2817@gmail.com>
2+
Date: Mon, 13 Jan 2020 23:03:53 -0500
3+
Subject: Extra fix for build without safe browsing
4+
5+
---
6+
chrome/android/BUILD.gn | 1 -
7+
chrome/android/chrome_java_sources.gni | 1 -
8+
.../src/org/chromium/chrome/browser/webshare/ShareServiceImpl.java | 3 +--
9+
3 files changed, 1 insertion(+), 4 deletions(-)
10+
11+
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
12+
--- a/chrome/android/BUILD.gn
13+
+++ b/chrome/android/BUILD.gn
14+
@@ -2659,7 +2659,6 @@ generate_jni("chrome_jni_headers") {
15+
"java/src/org/chromium/chrome/browser/rappor/RapporServiceBridge.java",
16+
"java/src/org/chromium/chrome/browser/rlz/RevenueStats.java",
17+
"java/src/org/chromium/chrome/browser/rlz/RlzPingHandler.java",
18+
- "java/src/org/chromium/chrome/browser/safe_browsing/FileTypePolicies.java",
19+
"java/src/org/chromium/chrome/browser/search_engines/TemplateUrlServiceFactory.java",
20+
"java/src/org/chromium/chrome/browser/send_tab_to_self/NotificationManager.java",
21+
"java/src/org/chromium/chrome/browser/send_tab_to_self/SendTabToSelfAndroidBridge.java",
22+
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
23+
--- a/chrome/android/chrome_java_sources.gni
24+
+++ b/chrome/android/chrome_java_sources.gni
25+
@@ -1413,7 +1413,6 @@ chrome_java_sources = [
26+
"java/src/org/chromium/chrome/browser/rappor/RapporServiceBridge.java",
27+
"java/src/org/chromium/chrome/browser/rlz/RevenueStats.java",
28+
"java/src/org/chromium/chrome/browser/rlz/RlzPingHandler.java",
29+
- "java/src/org/chromium/chrome/browser/safe_browsing/FileTypePolicies.java",
30+
"java/src/org/chromium/chrome/browser/search_engines/SearchEngineChoiceMetrics.java",
31+
"java/src/org/chromium/chrome/browser/search_engines/SearchEngineChoiceNotification.java",
32+
"java/src/org/chromium/chrome/browser/search_engines/TemplateUrlServiceFactory.java",
33+
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webshare/ShareServiceImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/webshare/ShareServiceImpl.java
34+
--- a/chrome/android/java/src/org/chromium/chrome/browser/webshare/ShareServiceImpl.java
35+
+++ b/chrome/android/java/src/org/chromium/chrome/browser/webshare/ShareServiceImpl.java
36+
@@ -19,7 +19,6 @@ import org.chromium.base.task.AsyncTask;
37+
import org.chromium.base.task.PostTask;
38+
import org.chromium.base.task.TaskRunner;
39+
import org.chromium.base.task.TaskTraits;
40+
-import org.chromium.chrome.browser.safe_browsing.FileTypePolicies;
41+
import org.chromium.chrome.browser.share.ShareHelper;
42+
import org.chromium.chrome.browser.share.ShareParams;
43+
import org.chromium.content_public.browser.WebContents;
44+
@@ -196,7 +195,7 @@ public class ShareServiceImpl implements ShareService {
45+
46+
for (SharedFile file : files) {
47+
RecordHistogram.recordSparseHistogram(
48+
- "WebShare.Unverified", FileTypePolicies.umaValueForFile(file.name));
49+
+ "WebShare.Unverified", 1);
50+
}
51+
52+
for (SharedFile file : files) {

patches/src-fix/fix-wrong-macro-kSigninAllowedOnNextStartup.patch

Lines changed: 28 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,52 +3,60 @@ Date: Fri, 10 Jan 2020 23:04:00 -0500
33
Subject: Fix wrong macro definition related to kSigninAllowedOnNextStartup
44

55
---
6-
chrome/browser/policy/browser_signin_policy_handler.cc | 12 ------------
7-
.../policy/configuration_policy_handler_list_factory.cc | 6 ------
8-
2 files changed, 18 deletions(-)
6+
.../policy/browser_signin_policy_handler.cc | 23 ----------------------
7+
.../configuration_policy_handler_list_factory.cc | 10 ----------
8+
2 files changed, 33 deletions(-)
99

1010
diff --git a/chrome/browser/policy/browser_signin_policy_handler.cc b/chrome/browser/policy/browser_signin_policy_handler.cc
1111
--- a/chrome/browser/policy/browser_signin_policy_handler.cc
1212
+++ b/chrome/browser/policy/browser_signin_policy_handler.cc
13-
@@ -44,24 +44,12 @@ void BrowserSigninPolicyHandler::ApplyPolicySettings(const PolicyMap& policies,
14-
FALLTHROUGH;
15-
case BrowserSigninMode::kEnabled:
16-
prefs->SetValue(
13+
@@ -41,29 +41,6 @@ void BrowserSigninPolicyHandler::ApplyPolicySettings(const PolicyMap& policies,
14+
#if !defined(OS_LINUX)
15+
prefs->SetValue(prefs::kForceBrowserSignin, base::Value(true));
16+
#endif
17+
- FALLTHROUGH;
18+
- case BrowserSigninMode::kEnabled:
19+
- prefs->SetValue(
1720
-#if defined(OS_ANDROID)
1821
- // The new kSigninAllowedOnNextStartup pref is only used on Desktop.
1922
- // Keep the old kSigninAllowed pref for Android until the policy is
2023
- // fully deprecated in M71 and can be removed.
2124
-#else
22-
prefs::kSigninAllowedOnNextStartup,
25+
- prefs::kSigninAllowedOnNextStartup,
2326
-#endif
24-
base::Value(true));
25-
break;
26-
case BrowserSigninMode::kDisabled:
27-
prefs->SetValue(
27+
- base::Value(true));
28+
- break;
29+
- case BrowserSigninMode::kDisabled:
30+
- prefs->SetValue(
2831
-#if defined(OS_ANDROID)
2932
- // The new kSigninAllowedOnNextStartup pref is only used on Desktop.
3033
- // Keep the old kSigninAllowed pref for Android until the policy is
3134
- // fully deprecated in M71 and can be removed.
3235
-#else
33-
prefs::kSigninAllowedOnNextStartup,
36+
- prefs::kSigninAllowedOnNextStartup,
3437
-#endif
35-
base::Value(false));
36-
break;
38+
- base::Value(false));
39+
- break;
3740
}
41+
}
42+
}
3843
diff --git a/chrome/browser/policy/configuration_policy_handler_list_factory.cc b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
3944
--- a/chrome/browser/policy/configuration_policy_handler_list_factory.cc
4045
+++ b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
41-
@@ -1398,13 +1398,7 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildHandlerList(
42-
base::Value::Type::BOOLEAN));
46+
@@ -1396,16 +1396,6 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildHandlerList(
4347
signin_legacy_policies.push_back(std::make_unique<SimplePolicyHandler>(
44-
key::kSigninAllowed,
48+
key::kForceBrowserSignin, prefs::kForceBrowserSignin,
49+
base::Value::Type::BOOLEAN));
50+
- signin_legacy_policies.push_back(std::make_unique<SimplePolicyHandler>(
51+
- key::kSigninAllowed,
4552
-#if defined(OS_ANDROID)
4653
- // The new kSigninAllowedOnNextStartup pref is only used on Desktop.
4754
- // Keep the old kSigninAllowed pref for Android until the policy is
4855
- // fully deprecated in M71 and can be removed.
4956
-#else
50-
prefs::kSigninAllowedOnNextStartup,
57+
- prefs::kSigninAllowedOnNextStartup,
5158
-#endif
52-
base::Value::Type::BOOLEAN));
59+
- base::Value::Type::BOOLEAN));
5360
handlers->AddHandler(std::make_unique<LegacyPoliciesDeprecatingPolicyHandler>(
5461
std::move(signin_legacy_policies),
62+
std::make_unique<BrowserSigninPolicyHandler>(chrome_schema)));

patches/ungoogled-chromium-android/Remove-dependency-on-com.google.android.gcm.patch

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ diff --git a/third_party/cacheinvalidation/src/java/com/google/ipc/invalidation/
123123
clientKey = "";
124124
try {
125125
- registrationId = GCMRegistrar.getRegistrationId(context);
126-
+ registrationId = null;
126+
+ registrationId = null;
127127
} catch (RuntimeException exception) {
128128
// GCMRegistrar#getRegistrationId occasionally throws a runtime exception. Catching the
129129
// exception rather than crashing.

0 commit comments

Comments
 (0)