New issue
Advanced search Search tips

Issue 883886 link

Starred by 1 user

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug
DFM



Sign in to add a comment

Bundles: Building universal APK fails with fusing enabled

Project Member Reported by tiborg@chromium.org, Sep 13

Issue description

If fusing the VR module, creating a universal APK for Chrome Modern fails with:

java.lang.NullPointerException
        at com.android.tools.build.bundletool.mergers.D8DexMerger.lambda$translateD8Exception$1(D8DexMerger.java:89)
        at com.android.tools.build.bundletool.utils.ThrowableUtils.anyInCausalChainOrSuppressedMatches(ThrowableUtils.java:36)
        at com.android.tools.build.bundletool.mergers.D8DexMerger.translateD8Exception(D8DexMerger.java:87)
        at com.android.tools.build.bundletool.mergers.D8DexMerger.merge(D8DexMerger.java:73)
        at com.android.tools.build.bundletool.mergers.ModuleSplitsToShardMerger.mergeDexFiles(ModuleSplitsToShardMerger.java:226)
        at com.android.tools.build.bundletool.mergers.ModuleSplitsToShardMerger.lambda$mergeDexFilesAndCache$0(ModuleSplitsToShardMerger.java:191)
        at java.util.HashMap.computeIfAbsent(HashMap.java:1128)
        at com.android.tools.build.bundletool.mergers.ModuleSplitsToShardMerger.mergeDexFilesAndCache(ModuleSplitsToShardMerger.java:189)
        at com.android.tools.build.bundletool.mergers.ModuleSplitsToShardMerger.mergeSingleShard(ModuleSplitsToShardMerger.java:137)
        at com.android.tools.build.bundletool.mergers.ModuleSplitsToShardMerger.merge(ModuleSplitsToShardMerger.java:91)
        at com.android.tools.build.bundletool.splitters.BundleSharder.shardBundle(BundleSharder.java:103)
        at com.android.tools.build.bundletool.commands.BuildApksCommand.generateStandaloneApks(BuildApksCommand.java:546)
        at com.android.tools.build.bundletool.commands.BuildApksCommand.executeWithTempDir(BuildApksCommand.java:426)
        at com.android.tools.build.bundletool.io.TempFiles.withTempDirectoryReturning(TempFiles.java:52)
        at com.android.tools.build.bundletool.commands.BuildApksCommand.execute(BuildApksCommand.java:357)
        at com.android.tools.build.bundletool.BundleToolMain.main(BundleToolMain.java:73)
        at com.android.tools.build.bundletool.BundleToolMain.main(BundleToolMain.java:44)
Error: Program type already present: com.google.devtools.build.android.desugar.runtime.ThrowableExtension$AbstractDesugaringStrategy
 
Summary: Bundles: Building universal APK fails (was: Bundles: Building Chrome Modern universal APK fails)
Same thing happens with the Monochrome bundle and fusing the AR module.
Bundletool got updated. Building universal APK still fails if fusing is set to true. Error is slightly different now:

[BT:0.6.0] Error: Dex merging failed.
com.android.tools.build.bundletool.exceptions.CommandExecutionException: Dex merging failed.
        at com.android.tools.build.bundletool.mergers.D8DexMerger.translateD8Exception(D8DexMerger.java:98)
        at com.android.tools.build.bundletool.mergers.D8DexMerger.merge(D8DexMerger.java:77)
        at com.android.tools.build.bundletool.mergers.ModuleSplitsToShardMerger.mergeDexFiles(ModuleSplitsToShardMerger.java:225)
        at com.android.tools.build.bundletool.mergers.ModuleSplitsToShardMerger.lambda$mergeDexFilesAndCache$0(ModuleSplitsToShardMerger.java:192)
        at java.util.HashMap.computeIfAbsent(HashMap.java:1128)
        at com.android.tools.build.bundletool.mergers.ModuleSplitsToShardMerger.mergeDexFilesAndCache(ModuleSplitsToShardMerger.java:190)
        at com.android.tools.build.bundletool.mergers.ModuleSplitsToShardMerger.mergeSingleShard(ModuleSplitsToShardMerger.java:138)
        at com.android.tools.build.bundletool.mergers.ModuleSplitsToShardMerger.merge(ModuleSplitsToShardMerger.java:92)
        at com.android.tools.build.bundletool.splitters.BundleSharder.shardBundle(BundleSharder.java:103)
        at com.android.tools.build.bundletool.commands.BuildApksManager.generateStandaloneApks(BuildApksManager.java:303)
        at com.android.tools.build.bundletool.commands.BuildApksManager.execute(BuildApksManager.java:167)
        at com.android.tools.build.bundletool.io.TempFiles.withTempDirectoryReturning(TempFiles.java:52)
        at com.android.tools.build.bundletool.commands.BuildApksCommand.execute(BuildApksCommand.java:379)
        at com.android.tools.build.bundletool.BundleToolMain.main(BundleToolMain.java:73)
        at com.android.tools.build.bundletool.BundleToolMain.main(BundleToolMain.java:44)
Caused by: com.android.tools.r8.CompilationFailedException: Compilation failed to complete
        at com.android.tools.r8.utils.ExceptionUtils.withCompilationHandler(ExceptionUtils.java:76)
        at com.android.tools.r8.utils.ExceptionUtils.withD8CompilationHandler(ExceptionUtils.java:45)
        at com.android.tools.r8.D8.run(D8.java:67)
        at com.android.tools.build.bundletool.mergers.D8DexMerger.merge(D8DexMerger.java:70)
        ... 13 more
Caused by: com.android.tools.r8.utils.AbortException
        at com.android.tools.r8.utils.Reporter.failIfPendingErrors(Reporter.java:77)
        at com.android.tools.r8.utils.Reporter.fatalError(Reporter.java:58)
        at com.android.tools.r8.utils.ExceptionUtils.withCompilationHandler(ExceptionUtils.java:67)
        ... 16 more
Error: Program type already present: com.google.devtools.build.android.desugar.runtime.ThrowableExtension$AbstractDesugaringStrategy
Summary: Bundles: Building universal APK fails with fusing enabled (was: Bundles: Building universal APK fails)
Labels: DFM

Sign in to add a comment