--
--
Chromium Discussion mailing list: chromium...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-discuss
---
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-discu...@chromium.org.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium...@chromium.org.
Hi Pradeep,There currently isn't a way to build a single bundle that supports all architecture combinations. The bundles we have today support language splits and feature modules, and we create separate bundles for 64-bit variants.The problem with adding architecture splits to the bundle targets is in Monochrome, where there are 3 different variants - pure 32-bit, 32-bit browser with 64-bit Webview, and 64-bit browser with 32-bit webview. That is, some of these variants already include native libs for both architectures. AFAIK, there's no current way to make a bundle that'll selectively generate multi-arch APKs. Hence there's still a bundle per architecture variant.Chris
--
--
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 chromi...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/fc4522a9-d7f5-4c9f-bbd3-fcfa45122ecd%40chromium.org.
Hi Christopher,Also 64 bit apk file exceeds 100MB and play store restricts apk size below 100MB. Can you please let me know what is the solution ?
Hi RichardIn case of 64 bit the native library file is not compressed it is called crazy.libchrome.so which is around 84.4MB size
In case of 32 bit the native library file is compressed it is called libchrome.so which is around 28.4 MB sizeYou can check the screenshot for 32bit and 64bit library contents.
In few documents of chromium which i have referred it mentions that native library is not compressed in case of 64bit build. Hence the huge size.Is there any argument i am missing in args.gn which can compress native library even in 64bit build so that we can reduce the apk size ?
I believe the 100 MB limit applies to the APK size after compression by the Play Store. It's really a limit on download size, not on APK size per se, so the uncompressed size of native libraries isn't relevant.
I've built and uploaded large APKs using uncompressed native libraries in the past, so I'm fairly sure the limit applies to download size, not file size (as commonly thought).
Here's the best reference I could dig up, but probably the best test would be to just try it. :-)https://support.google.com/googleplay/android-developer/answer/113469#apk"Apps on Google Play have a size limit, which is based on the compressed size of your APK at the time of download.
"After you upload an APK, the Play Console uses gzip to estimate what your app’s download size will be. When users download your app, because of the advanced compression tools used on Google Play, it’s possible that your app’s actual download size will be smaller than the estimate you see on the Play Console."
(emphasis mine)
Could definitely be a more recent change (last few years; not sure how old Monochrome was); the Play Store keeps tinkering with how APK delivery works. (For reference, my data point comes from about 3-6 months ago.)
No problem; let us know how it goes. :-)
Hello,
Is the issue solved? Can anyone please post the details? I have the same issue with 64 bit chrome_public_apk based on 86.0.4240 (works well as apk, crashes during distribution from play market ( internal testing). Thanks in advance.Best regards,Pavelпонедельник, 4 мая 2020 г. в 10:17:58 UTC+3, ynsu...@gmail.com:
> If you're having crashes that isn't related to this thread, which was about packaging and size limits.
> We would need to see more details about the crashes to help.
My case is simular to packages issue.
I have build 64-bit APK (chrome_public_apk, is_official_build = true) based on 86.0.4240.110
with my changes and this version successfully works on emulator or tester devices
Few days ago I have decided to use PlayMarket for autoupdate feature for my testers and
succesfully uploaded it to market
But after installing via PlayMarket I have got the crash with message
"Caused by: java.lang.UnsatisfiedLinkError: dlopen failed: library
/base.apk!/lib/arm64-v8a/crazy.libchrome.so not found"
I have tried to bit arm-v7 version (didn't allowed by PlayMarket policy).
I have tried to build bundle but I didn't see the signing scripts or documention
related to Chromium (not for developers with Android Studio) and I didn't sure that
missing bundle caused the crash
And I am a bit confused of proper way to build third-party Chromium for PlayMarket
and I would appreciate if you point me the right way.
Best Regards,
Pavelсреда, 20 января 2021 г. в 21:26:10 UTC+3, to...@chromium.org:
Just checked, this file exists in APK lib\arm64-v8a\crazy.libchrome.soIt crashes on different cellphones including my test devices- Huaweu Mate 20 lite with Android 10 and Samsuns A51 with Android 10среда, 20 января 2021 г. в 22:05:36 UTC+3, to...@chromium.org:
> Are you using the "App signing by Google Play" feature
In Google Play console I see "Play App Signing, Enabled, Google is protecting your app signing key"
but I didn't create upload key according to this instruction
https://developer.android.com/studio/publish/app-signing
So, I am not sure :)
I have executed commands
1) adb shell pm list packages -f <application>
package:/data/app/<application>-gBqbgQzHhufd0uOzc24upw==/base.apk=<application>
2) adb pull /data/app/<application>-gBqbgQzHhufd0uOzc24upw==/base.apk
/data/app/<application>-gBqbgQzHhufd0uOzc24upw==/base.apk: 1 file pulled, 0 skipped. 33.2 MB/s (99392374 bytes in 2.858s)
and got base.apk file (zip archive because 2 first bytes is PK)
The so library is at the same place \lib\arm64-v8a\crazy.libchrome.so
as it in original apk
среда, 20 января 2021 г. в 22:23:35 UTC+3, to...@chromium.org:
zipinfo ~/work/base.apk | grep lib
?rwxr-xr-x 2.0 unx 78366344 bx stor 01-Jan-01 00:00 lib/arm64-v8a/crazy.libchrome.so
?rwxr-xr-x 2.0 unx 752520 b- defN 01-Jan-01 00:00 lib/arm64-v8a/libchrome_crashpad_handler.so
?rwxr-xr-x 2.0 unx 46920 b- defN 01-Jan-01 00:00 lib/arm64-v8a/libchromium_android_linker.soсреда, 20 января 2021 г. в 23:10:23 UTC+3, to...@chromium.org:
zipalign -cv 4 ~/work/base.apk | grep lib
12919268 lib/arm64-v8a/crazy.libchrome.so (OK)
91285685 lib/arm64-v8a/libchrome_crashpad_handler.so (OK - compressed)
91615973 lib/arm64-v8a/libchromium_android_linker.so (OK - compressed)it doesn't aligned of 4096
Thank you very much for your answers, I plan to check if the app is really signed by the Play store and come back with the results tomorrowсреда, 20 января 2021 г. в 23:26:56 UTC+3, to...@chromium.org:
If you're having crashes that isn't related to this thread, which was about packaging and size limits. We would need to see more details about the crashes to help.
Does that file actually exist in your APK? What OS versions is it failing on? On all devices, or just some?
On Wed, 20 Jan 2021 at 15:02, Pavel Seleznev <pavel.s...@gmail.com> wrote:
Hello respected,
I have generated Android build APK file successfully from android studio but its APK size is large as 600+ MB with both ABI configuration arm64 and arm. I have tried to Splite APK file by ABI configuration in Android Studio and as we get .SO binary files(module wise) we have 333 files of arm in lib directory but still its APK size is large as around 300+ MB. As I have tried to upload build on Google Play Store its not allowed to upload due to large build size.
Here is the splits configuration in Android Studio.
splits {
// Configures multiple APKs based on ABI.
abi {
// Enables building multiple APKs per ABI.
enable true
// By default all ABIs are included, so use reset() and include to specify that we only
// want APKs for x86 and x86_64.
// Resets the list of ABIs that Gradle should create APKs for to none.
reset()
// Specifies a list of ABIs that Gradle should create APKs for.
include "armeabi", "armeabi-v7a"
// Specifies that we do not want to also generate a universal APK that includes all ABIs.
universalApk false
} }
Here is steps which I have tried to build chromium for Android.
We have followed steps to get chromium official repository code as below
Step 1
Step 2
Command for Split Chromium Gradle file in Android Studio.
build/android/gradle/generate_gradle.py \--output-directory out/Default \--project-dir ~/chromiumsource \--target '//chrome/android:chrome_public_apk'
After this command we get android gradle with lots of .SO binary files for ABI arm64 but its size is larger. Can we reduce that .so files ?
Step 4
After that we not able build this code so we followed Code directory and module structure and take reference to write script to get code based on corresponding directory and classes
Take reference from below and we did some modifications on this and get latest generated code and native JNI and .SO binary files.
Step 4
Setup new Android project and import all module and resources for this project and add add .SO files which is get from chromium code and we generated release build and its working fine on Android Device but its due to large APK size google play console not allow to upload.
Can anyone share solution for this and is there any steps we have missed to build android build apk or is there any solution for reduce Android APK file size.
I have tried to use ADB tools but its same logs as i shared before. ADB is showing logs in logcat and i have shared same as in previous message.
Can you please help me on this.Is there any other way to share logs or other details which i can share with you for get more details.Is there any mistake in below Configuration for Android BuildCan you please review this :For build apk we used this
autoninja -C out/Default chrome_public_apktarget_os = "android"target_cpu = "arm64"is_debug = falseandroid_channel = "stable"is_official_build = trueis_component_build = falseis_clang = truesymbol_level = 0blink_symbol_level=0use_unofficial_version_number = falsev8_use_external_startup_data = truefieldtrial_testing_like_official_build = trueicu_use_data_file = falseffmpeg_branding = "Chrome"proprietary_codecs = truemultidex_in_release = trueexclude_unwind_tables = true
The below is Android Gradle Configuration for NDKFor ARM 64
ndk {
abiFilters 'arm64-v8a'
}
can we try MonochromePublic.APK instead chrome_public_apk of to resolve this issue ?
I did not changed any code after i fetched from chromium, i have just changed app name only and then build App on Android Studio to make APK file and run on device.
can you please help me on as attached screen shot in this there is some SO files size is different i try to drag and drop APK file in Android Studio one APK file is ChromePublic APK which is working fine and its SO file size is large compare to our Chromium build From Android Studio as android debug APK file is smaller OS files size can you please review attached images for this.
is there anything wrong with SO binary Files.On our chromium SO file original size is around 86 MB but once we do build APK file and then we drag drop in Android to check file size then its around 42 MB so its look like compressing our SO files.
Hi
Can you please check this below logs and attached image as we tried track logs and resolve error but still we are not able to run app on ARM 64 device2021-05-10 19:28:16.320 12296-15398/com.chromium.chrome D/cr_ChildProcLauncher: [ChildProcessLauncher.java:231] on connect callback, pid=154512021-05-10 19:28:17.792 12296-15398/com.chromium.chrome D/cr_ChildProcLauncher: [ChildProcessLauncher.java:231] on connect callback, pid=154572021-05-10 19:28:18.140 12296-15397/com.chromium.chrome D/OpenGLRenderer: mPreviousPosition == bounds[l=0.00 t=79.00 r=1080.00 b=2274.00]2021-05-10 19:28:18.178 12296-15397/com.chromium.chrome D/OpenGLRenderer: mPreviousPosition == bounds[l=0.00 t=79.00 r=1080.00 b=2274.00]2021-05-10 19:28:18.370 12296-15398/com.chromium.chrome W/cr_ChildProcessConn: onServiceDisconnected (crash or killed by oom): pid=15451 bindings:W S state:3 counts:0,0,0,2,2021-05-10 19:28:18.388 12296-15398/com.chromium.chrome D/cr_ChildProcLauncher: [ChildProcessLauncher.java:274] stopping child connection: pid=15451
Hello, Respected,
Since Google mentioned Starting from August 2021, new apps are required to publish with the Android App Bundle on Google Play.
As Previously we have uploaded a Separate APK file for the ABI arm, arm64 architecture on the Google Play store, and its working fine on All devices but as of now as Google makes it's mandatory to upload Android App Bundle instead of APK file so after uploading the Bundle on Google Play Store with the below configuration in Android Studio and if the user installs the app from Google Play Store it's not working on some device its fail to load library and app getting crash.
We're facing a similar issue, but it works for new users and crashes on open only for existing users.So if we upload our latest Chromium APK and a new user installs it from the Play Store, it works fine. If an existing user updates to the new APK, then it always crashes upon open.What could be causing this?Our keys are managed by Google so we can't sign builds ourselves. There doesn't seem to be a way to opt out of this.