mirror of
https://github.com/jqssun/android-helium-browser.git
synced 2026-06-23 09:16:54 +00:00
aab
This commit is contained in:
parent
95cacaea77
commit
973b832475
4 changed files with 33 additions and 2 deletions
2
.github/workflows/build.yml
vendored
2
.github/workflows/build.yml
vendored
|
|
@ -53,6 +53,7 @@ jobs:
|
|||
run: |
|
||||
export VERSION=$(find chromium/src/out/release -name '*arm64-v8a.apk' | sed 's/.*\///;s/\-arm64-v8a.apk$//')
|
||||
echo "VERSION=$VERSION" >> $GITHUB_ENV
|
||||
mv $(find chromium/src/out/release -name '*arm64-v8a.aab') $VERSION-${{ env.unix_time }}-arm64-v8a.aab
|
||||
mv $(find chromium/src/out/release -name '*arm64-v8a.apk') $VERSION-${{ env.unix_time }}-arm64-v8a.apk
|
||||
mv $(find chromium/src/out/release -name '*armeabi-v7a.apk') $VERSION-${{ env.unix_time }}-armeabi-v7a.apk
|
||||
|
||||
|
|
@ -63,5 +64,6 @@ jobs:
|
|||
name: v${{ env.VERSION }}
|
||||
tag_name: v${{ env.VERSION }}
|
||||
files: |
|
||||
${{ env.VERSION }}-${{ env.unix_time }}-arm64-v8a.aab
|
||||
${{ env.VERSION }}-${{ env.unix_time }}-arm64-v8a.apk
|
||||
${{ env.VERSION }}-${{ env.unix_time }}-armeabi-v7a.apk
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ The full build aims to be consistent with [Helium](https://github.com/imputnet/h
|
|||
|
||||
This repository provides the build script to compile on the latest Ubuntu, and may also work with other Linux distributions.
|
||||
|
||||
To build these releases yourself via CI (e.g. GitHub Actions), fork this repository. Supply your `base64` encoded `keystore.jks` and `local.properties` (containing your `keyAlias`, `keyPassword` and `storePassword`) to [**Repository secrets**](https://github.com/jqssun/android-helium-browser/blob/main/.github/workflows/build.yml#L28-L29) under **Settings** > **Secrets and variables** > **Actions**. To generate a release, go to **Actions**, select **Build**, and select **Run workflow**. Under **Runner**, you can either use a GitHub-hosted runner by entering `ubuntu-latest`, or `self-hosted` for your own hardware.
|
||||
To build these releases yourself via CI (e.g. GitHub Actions), fork this repository. Supply your `base64` encoded `keystore.jks` and `local.properties` (containing your `keyAlias`, `keyPassword` and `storePassword`) to [**Repository secrets**](https://github.com/jqssun/android-helium-browser/blob/main/.github/workflows/build.yml#L47-L48) under **Settings** > **Secrets and variables** > **Actions**. To generate a release, go to **Actions**, select **Build**, and select **Run workflow**. Under **Runner**, you can either use a GitHub-hosted runner by entering `ubuntu-latest`, or `self-hosted` for your own hardware.
|
||||
|
||||
## Credits
|
||||
|
||||
|
|
|
|||
26
build.sh
26
build.sh
|
|
@ -60,6 +60,18 @@ sed -i '/feature_overrides.EnableFeature(::features::kSkipVulkanBlocklist);/d' c
|
|||
sed -i '/feature_overrides.EnableFeature(::features::kDefaultANGLEVulkan);/d' chrome/browser/chrome_browser_field_trials.cc
|
||||
sed -i '/feature_overrides.EnableFeature(::features::kVulkanFromANGLE);/d' chrome/browser/chrome_browser_field_trials.cc
|
||||
|
||||
# dev
|
||||
sed -i 's/BASE_FEATURE(kAndroidDevToolsFrontend, base::FEATURE_DISABLED_BY_DEFAULT);/BASE_FEATURE(kAndroidDevToolsFrontend, base::FEATURE_ENABLED_BY_DEFAULT);/' content/public/common/content_features.cc
|
||||
sed -i 's/BASE_FEATURE(kSubmenusInAppMenu, base::FEATURE_DISABLED_BY_DEFAULT);/BASE_FEATURE(kSubmenusInAppMenu, base::FEATURE_ENABLED_BY_DEFAULT);/' chrome/browser/flags/android/chrome_feature_list.cc
|
||||
sed -i 's|if (!DeviceFormFactor.isNonMultiDisplayContextOnTablet(mContext)) {|if (false) {|' chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
|
||||
|
||||
# playback
|
||||
sed -i 's|#if BUILDFLAG(IS_ANDROID)|#if 0|' content/public/renderer/render_frame_media_playback_options.cc
|
||||
|
||||
# zoom
|
||||
sed -i 's|public static boolean shouldShowZoomMenuItem(@Nullable BrowserContextHandle context) {|public static boolean shouldShowZoomMenuItem(@Nullable BrowserContextHandle context) { if (true) return true;|' components/browser_ui/accessibility/android/java/src/org/chromium/components/browser_ui/accessibility/PageZoomUtils.java
|
||||
sed -i 's|private boolean shouldShowLFFPageZoomItem() {|private boolean shouldShowLFFPageZoomItem() { if (true) return true;|' chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
|
||||
|
||||
# ext: mv2
|
||||
sed -i 's/BASE_FEATURE(kExtensionManifestV2Unsupported, base::FEATURE_ENABLED_BY_DEFAULT);/BASE_FEATURE(kExtensionManifestV2Unsupported, base::FEATURE_DISABLED_BY_DEFAULT);/' extensions/common/extension_features.cc
|
||||
sed -i 's/BASE_FEATURE(kExtensionManifestV2Disabled, base::FEATURE_ENABLED_BY_DEFAULT);/BASE_FEATURE(kExtensionManifestV2Disabled, base::FEATURE_DISABLED_BY_DEFAULT);/' extensions/common/extension_features.cc
|
||||
|
|
@ -82,6 +94,16 @@ sed -i 's| if (!context->IsOffTheRecord()) {| if (true) {|' extensions/browser
|
|||
sed -i 's|public static boolean shouldOpenIncognitoAsWindow() {|public static boolean shouldOpenIncognitoAsWindow() { if (true) return true;|' chrome/browser/incognito/android/java/src/org/chromium/chrome/browser/incognito/IncognitoUtils.java
|
||||
|
||||
sed -i 's|if (!IncognitoUtils.shouldOpenIncognitoAsWindow() \|\| isIncognitoShowing()) {|if (true) {|' chrome/android/java/src/org/chromium/chrome/browser/tabbed_mode/TabbedAppMenuPropertiesDelegate.java
|
||||
sed -i '/^template("chrome_public_apk_or_module_tmpl") {$/,/^}$/{
|
||||
/^ if (!defined(srcjar_deps)) {$/,/^ \]$/d
|
||||
/^ }$/i\
|
||||
if (!defined(srcjar_deps)) {\
|
||||
srcjar_deps = []\
|
||||
}\
|
||||
srcjar_deps += [\
|
||||
"//helium/android_config:configinfo_srcjar_apk",\
|
||||
]
|
||||
}' chrome/android/chrome_public_apk_tmpl.gni # vanadium/patches/*-ConfigInfo-*.patch
|
||||
|
||||
sudo dpkg --add-architecture i386; sudo apt-get update; sudo apt-get install -y libgcc-s1:i386
|
||||
cat > out/Default/args.gn <<EOF
|
||||
|
|
@ -129,11 +151,13 @@ autoninja -C out/Default chrome_public_apk
|
|||
mv $(find out/Default/apks -name 'Chrome*.apk') out/tmp/$VERSION-armeabi-v7a.apk
|
||||
|
||||
sed -i 's/target_cpu = "arm"/target_cpu = "arm64"/' out/Default/args.gn
|
||||
autoninja -C out/Default chrome_public_apk
|
||||
autoninja -C out/Default chrome_public_apk chrome_public_bundle
|
||||
mv $(find out/Default/apks -name 'Chrome*.apk') out/tmp/$VERSION-arm64-v8a.apk
|
||||
mv $(find out/Default/apks -name 'Chrome*.aab') out/tmp/$VERSION-arm64-v8a.aab
|
||||
|
||||
export PATH=$PWD/third_party/jdk/current/bin/:$PATH
|
||||
export ANDROID_HOME=$PWD/third_party/android_sdk/public
|
||||
sign_apk out/tmp/$VERSION-armeabi-v7a.apk out/release/$VERSION-armeabi-v7a.apk
|
||||
sign_apk out/tmp/$VERSION-arm64-v8a.apk out/release/$VERSION-arm64-v8a.apk
|
||||
sign_aab out/tmp/$VERSION-arm64-v8a.aab out/release/$VERSION-arm64-v8a.aab
|
||||
rm -rf $SCRIPT_DIR/keys
|
||||
|
|
|
|||
|
|
@ -18,3 +18,8 @@ sign_apk() {
|
|||
source $SCRIPT_DIR/keys/local.properties
|
||||
$apksigner sign -verbose -ks $SCRIPT_DIR/keys/test.jks --ks-pass pass:$storePassword --key-pass pass:$keyPassword --ks-key-alias $keyAlias --out $2 $1 || exit 1
|
||||
}
|
||||
|
||||
sign_aab() {
|
||||
source $SCRIPT_DIR/keys/local.properties
|
||||
jarsigner -verbose -sigalg SHA256withRSA -digestalg SHA-256 -keystore $SCRIPT_DIR/keys/test.jks -storepass $storePassword -keypass $keyPassword -signedjar $2 $1 $keyAlias || exit 1
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue