Comments (14)
from bundletool.
@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.
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.
@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.
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.
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.
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.
@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.
Ok, thanks for the info so far.
Closing this now.
from bundletool.
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.
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.
Thanks a lot saurabhkpatel. 👍
from bundletool.
Hi,
How to resolve this error.
Error: Unable to access jarfile bundletool-all-0.6.0.jar
from bundletool.
@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)
- [BUG] Error: Module 'base' is missing mandatory file 'manifest/AndroidManifest.xml'. HOT 1
- Add bundletool to winget
- The App bundle is not a valid zip file HOT 1
- Unable to sign apk HOT 2
- Unable to sign APK due to FileAlreadyExistsException HOT 5
- com.android.tools.build.bundletool.model.exceptions.InvalidBundleException: Invalid dex file indices, expecting file 'classes?.dex' but found 'classes2.dex'. HOT 2
- Does it make the opposite? HOT 1
- the aab upload to Google Play, size counting issue HOT 1
- Error: Module 'base' is missing mandatory file 'manifest/AndroidManifest.xml'. HOT 2
- How does `bundletool build-apks` generate the versionCode for the APKs? HOT 3
- Returns immediately on command line without any info
- Size differs between bundletool and apkanalyzer.
- Unable to install dynamic feature modules with max sdk in manifest
- Set splittypes
- Please ignore
- Option NOT To Sign The APK Even If Debug Keystore Is Present
- Bundletool Package using 2 versions of AAPT2 Proto
- bundletool leaves 100s of KB of META-INF metadata in output APKs
- Bundletool does not recognize `android:installLocation="0"` HOT 1
- Installation of the app failed
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bundletool.