Git Product home page Git Product logo

Comments (14)

plecesne avatar plecesne commented on May 3, 2024 1

from bundletool.

saurabhkpatel avatar saurabhkpatel commented on May 3, 2024 1

@rksinghj4 For the first error, did you set the ADB path? If not then set it or use the full absolute path of adb.
for the second error, I think there is a problem with --, make sure you've written the correct command. copy-paste sometimes creates the problem.

from bundletool.

plecesne avatar plecesne commented on May 3, 2024

Thanks for reporting the issue.

These flags eventually couldn't make it in the I/O release, but will be coming shortly.
There is however an easy workaround (at the cost of longer build times): build an APK Set for all devices (i.e. without passing --device-spec or --connected-device), then call "install-apks" with the flag --device-spec or --connected-device.

from bundletool.

saurabhkpatel avatar saurabhkpatel commented on May 3, 2024

@plecesne Thanks for the insights and a workaround.

One more question, not sure it will be feature-request or something I don't know.
I want to compare/analyze the two apks: Universal (traditional) apk vs APK to the specific device (for eg. pixel 2 XL). But I didn’t find any way where I can generate apk for a specific device, I can extract the apks as per device configuration but it gives me all different apks. I am looking for a way to generate only one apk which should be for that particular device (for eg: base+en_US+arm64+xxxhdpi = pixel2 XL) Thus, I can compare/analyze that apk.

Any insights on this?

from bundletool.

plecesne avatar plecesne commented on May 3, 2024

There is no way today to generate such APK, but more importantly, it is not something that Play would deliver and thus your comparison would not be accurate.
If you just need the list of files, you could just unzip the files from the APKs and look at what's present, but analyzing the resource tables would be more complicated.

from bundletool.

saurabhkpatel avatar saurabhkpatel commented on May 3, 2024

I see, so, how google play delivers the apk on the device. If I have pixel 2 XL and google play has 4 different apks (base + en_US + arm64 and xxxhdpi) then google play installs 4 apks on the device?
How merging works here?

Actually, I'm more interested to know about the total apk size for the specific device. So I can conclude that how much apk size has been reduced.

from bundletool.

plecesne avatar plecesne commented on May 3, 2024

There is no merging: Play would serve 4 APKs for this app. This is possible with the use of Split APKs. Here is some documentation about Split APKs:

the Android platform is able to treat multiple installed split APKs as a single app

Hence you can just sum the size of the 4 APKs.

from bundletool.

saurabhkpatel avatar saurabhkpatel commented on May 3, 2024

@plecesne thanks.
That's it? Is it final to consider the total size of the 4 apks as a benchmark? I thought there must be different size after merging of those 4.

Is it possible to install one by one those 4 apks?

from bundletool.

saurabhkpatel avatar saurabhkpatel commented on May 3, 2024

Ok, thanks for the info so far.
Closing this now.

from bundletool.

rksinghj4 avatar rksinghj4 commented on May 3, 2024

I am getting following error. Please help.

java -jar bundletool-all-0.4.1.jar get-device-spec --output=motog5.json
[BT:0.4.1] Error: Unable to determine the location of ADB. Please set the --adb flag or define ANDROID_HOME environment variable.
com.android.tools.build.bundletool.exceptions.CommandExecutionException: Unable to determine the location of ADB. Please set the --adb flag or define ANDROID_HOME environment variable.
at com.android.tools.build.bundletool.commands.GetDeviceSpecCommand.lambda$null$1(GetDeviceSpecCommand.java:127)
at java.util.Optional.orElseThrow(Unknown Source)
at com.android.tools.build.bundletool.commands.GetDeviceSpecCommand.lambda$fromFlags$2(GetDeviceSpecCommand.java:125)
at java.util.Optional.orElseGet(Unknown Source)
at com.android.tools.build.bundletool.commands.GetDeviceSpecCommand.fromFlags(GetDeviceSpecCommand.java:120)
at com.android.tools.build.bundletool.commands.GetDeviceSpecCommand.fromFlags(GetDeviceSpecCommand.java:102)
at com.android.tools.build.bundletool.BundleToolMain.main(BundleToolMain.java:80)
at com.android.tools.build.bundletool.BundleToolMain.main(BundleToolMain.java:44)

from bundletool.

rksinghj4 avatar rksinghj4 commented on May 3, 2024

How to pass key to generate install able apks? Please help. I am getting following errors:

java -jar bundletool-all-0.4.1.jar build-apks --bundle F:...\app\build\outputs\bundle\prodMyappRelease\bundle.aab --output=output_apk_archive_set --ks F:...\play-store-release-key.keystore
Error while parsing the flags: Syntax error: flags should start with -- (F:\app\build\outputs\bundle\prodMyappRelease\bundle.aab)

from bundletool.

rksinghj4 avatar rksinghj4 commented on May 3, 2024

Thanks a lot saurabhkpatel. 👍

from bundletool.

agiratech-sankar avatar agiratech-sankar commented on May 3, 2024

Hi,
How to resolve this error.
Error: Unable to access jarfile bundletool-all-0.6.0.jar

from bundletool.

plecesne avatar plecesne commented on May 3, 2024

@agiratech-sankar This issue has been closed. Please file a separate issue and fill the form with the details on what you're doing.

from bundletool.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.