Create unsigned App Bundle for Android

762 views
Skip to first unread message

Ros

unread,
May 19, 2021, 11:06:58 AM5/19/21
to Chromium-dev
Dear Chromium devs,

I am working on a 3rd party browser based on Chromium. I used to build and publish chrome_public_apk but now I plan to change it to App Bundle with using the build target chrome_modern_public_bundle.
Now I came here to hopefully get answers to the following 2 questions:

1. Can I build a single App Bundle for arm and arm64, or is that not possible and I need to build 2 App Bundles and upload them both to Google Play?

2. How can I generate an unsigned App Bundle that I can sign myself and upload it to Google Play? For unsigned APKs I had to modify the script build/android/gyp/finalize_apk.py. I didn't find a similar script for aab's.

Thanks for your help!

Torne (Richard Coles)

unread,
May 19, 2021, 11:36:42 AM5/19/21
to Jens Jensen, Chromium-dev
On Wed, 19 May 2021 at 11:07, Ros <wangenh...@gmail.com> wrote:
Dear Chromium devs,

I am working on a 3rd party browser based on Chromium. I used to build and publish chrome_public_apk but now I plan to change it to App Bundle with using the build target chrome_modern_public_bundle.
Now I came here to hopefully get answers to the following 2 questions:

1. Can I build a single App Bundle for arm and arm64, or is that not possible and I need to build 2 App Bundles and upload them both to Google Play?

No, you need to have separate bundles for different architectures.

We have various build targets (like WebView) which need to have more than one architecture "at once" (as in, both need to be installed on the device) and our build system is set up on the assumption that if you're building more than one arch it's for that kind of setup, which is not the arrangement you want for a regular app that only needs to be one architecture or the other for any given device.
 
2. How can I generate an unsigned App Bundle that I can sign myself and upload it to Google Play? For unsigned APKs I had to modify the script build/android/gyp/finalize_apk.py. I didn't find a similar script for aab's.

You should just configure our build system to sign it with the correct keys, rather than trying to modify things so you can sign it manually. We rely on specific alignment of files for mmap() and it's easy to break these properties by accident while signing it yourself.
Use the GN args `android_keystore_path` `android_keystore_name` and `android_keystore_password` to specify the keystore and key you want to use for signing. If you're using Play's signing you can just set this to your upload key; if you're signing it yourself you would set it to your release key when you want to do a release build.
 
Thanks for your help!

--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to the Google Groups "Chromium-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/f9344990-97e1-4312-b212-a4c2a5d2eef4n%40chromium.org.

Sat Nguyen

unread,
May 24, 2022, 9:05:16 PM5/24/22
to Chromium-dev, to...@chromium.org, Chromium-dev, JJ
I'm having an issue where my app doesn't register when I upload it to the store. Below is the configuration in my args file. 
I look forward to everyone's help

is_debug = false
is_java_debug = false
is_official_build = true
target_os = "android"
target_cpu = "x86"
android_channel = "default"
enable_chrome_android_internal = false
is_clang = true
is_component_build = false
is_chrome_branded = false
symbol_level = 0
enable_nacl = false
blink_symbol_level=0
v8_symbol_level=0
ffmpeg_branding = "Chrome"
proprietary_codecs = true
android_keystore_path = "//build/android/xxx.keystore"
android_keystore_name = "xxx"
android_keystore_password = "xxx"
android_override_version_name = "1.0"
android_override_version_code = "1"


Screenshot from 2022-05-24 11-00-44.pngScreenshot from 2022-05-24 11-00-59.png

Yogesh Swami

unread,
Feb 26, 2024, 12:56:42 PMFeb 26
to Chromium-dev, Sat Nguyen, to...@chromium.org, Chromium-dev, JJ
try manually signing the bundle with jarsigner. worked for me.
Reply all
Reply to author
Forward
0 new messages