Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Unable to convert app bundle to APK in android

I am using Android studio 3.4.1. I was trying to convert the App bundle to APK using the bundle tool. I was unable to generate the APK file. I tried using Generate Apk file from aab file (android app bundle)

When I run the command

java -jar bundletool.jar build-apks  --bundle=app.aab --output=app.apks

I got the below error. Kindly suggest me a solution to generate the APK.

INFO: The APKs will be signed with the debug keystore found at 'C:\Users\~\
.android\debug.keystore'.
[BT:0.10.2] Error: com.android.tools.build.bundletool.model.Aapt2Command$Aapt2Ex
ception: Command '[C:\Users\~\AppData\Local\Temp\8658885577631656545\output
\windows\aapt2.exe, convert, --output-format, binary, -o, C:\Users\~\AppDat
a\Local\Temp\6789457478435634974\binary.apk, C:\Users\~\AppData\Local\Temp\
6789457478435634974\proto.apk]' didn't terminate successfully (exit code: -10737
41701). Check the logs.
java.lang.RuntimeException: com.android.tools.build.bundletool.model.Aapt2Comman
d$Aapt2Exception: Command '[C:\Users\~\AppData\Local\Temp\86588855776316565
45\output\windows\aapt2.exe, convert, --output-format, binary, -o, C:\Users\Yamu
na\AppData\Local\Temp\6789457478435634974\binary.apk, C:\Users\~\AppData\Lo
cal\Temp\6789457478435634974\proto.apk]' didn't terminate successfully (exit cod
e: -1073741701). Check the logs.
        at com.android.tools.build.bundletool.io.ConcurrencyUtils.waitFor(Concur
rencyUtils.java:59)
        at com.android.tools.build.bundletool.io.ConcurrencyUtils.waitForAll(Con
currencyUtils.java:42)
        at java.util.function.Function.lambda$andThen$1(Unknown Source)
        at java.util.stream.ReferencePipeline.collect(Unknown Source)
        at com.android.tools.build.bundletool.io.ApkSerializerManager.serializeA
pks(ApkSerializerManager.java:180)
        at com.android.tools.build.bundletool.io.ApkSerializerManager.populateAp
kSetBuilder(ApkSerializerManager.java:101)
        at com.android.tools.build.bundletool.commands.BuildApksManager.executeW
ithZip(BuildApksManager.java:229)
        at com.android.tools.build.bundletool.commands.BuildApksManager.execute(
BuildApksManager.java:110)
        at com.android.tools.build.bundletool.commands.BuildApksCommand.execute(
BuildApksCommand.java:524)
        at com.android.tools.build.bundletool.BundleToolMain.main(BundleToolMain
.java:74)
        at com.android.tools.build.bundletool.BundleToolMain.main(BundleToolMain
.java:46)
        Suppressed: java.io.UncheckedIOException: java.nio.file.FileSystemExcept
ion: C:\Users\~\AppData\Local\Temp\8658885577631656545: failed to delete on
e or more files; see suppressed exceptions for details
                at com.android.tools.build.bundletool.io.TempDirectory.close(Tem
pDirectory.java:59)
                at com.android.tools.build.bundletool.commands.BuildApksCommand.
execute(BuildApksCommand.java:525)
                ... 2 more
        Caused by: java.nio.file.FileSystemException: C:\Users\~\AppData\Lo
cal\Temp\8658885577631656545: failed to delete one or more files; see suppressed
 exceptions for details
                at com.google.common.io.MoreFiles.throwDeleteFailed(MoreFiles.ja
va:791)
                at com.google.common.io.MoreFiles.deleteRecursively(MoreFiles.ja
va:537)
                at com.android.tools.build.bundletool.io.TempDirectory.close(Tem
pDirectory.java:57)
                ... 3 more
                Suppressed: java.nio.file.DirectoryNotEmptyException: C:\Users\Y
amuna\AppData\Local\Temp\8658885577631656545\output\windows
                        at sun.nio.fs.WindowsFileSystemProvider.implDelete(Unkno
wn Source)
                        at sun.nio.fs.AbstractFileSystemProvider.delete(Unknown
Source)
                        at java.nio.file.Files.delete(Unknown Source)
                        at com.google.common.io.MoreFiles.deleteRecursivelyInsec
ure(MoreFiles.java:665)
                        at com.google.common.io.MoreFiles.deleteDirectoryContent
sInsecure(MoreFiles.java:685)
                        at com.google.common.io.MoreFiles.deleteRecursivelyInsec
ure(MoreFiles.java:658)
                        at com.google.common.io.MoreFiles.deleteDirectoryContent
sInsecure(MoreFiles.java:685)
                        at com.google.common.io.MoreFiles.deleteRecursivelyInsec
ure(MoreFiles.java:658)
                        at com.google.common.io.MoreFiles.deleteRecursively(More
Files.java:526)
                        ... 4 more
Caused by: java.util.concurrent.ExecutionException: com.android.tools.build.bund
letool.model.Aapt2Command$Aapt2Exception: Command '[C:\Users\~\AppData\Loca
l\Temp\8658885577631656545\output\windows\aapt2.exe, convert, --output-format, b
inary, -o, C:\Users\~\AppData\Local\Temp\6789457478435634974\binary.apk, C:
\Users\~\AppData\Local\Temp\6789457478435634974\proto.apk]' didn't terminat
e successfully (exit code: -1073741701). Check the logs.
        at com.google.common.util.concurrent.AbstractFuture.getDoneValue(Abstrac
tFuture.java:502)
        at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.j
ava:481)
        at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(Ab
stractFuture.java:83)
        at com.android.tools.build.bundletool.io.ConcurrencyUtils.waitFor(Concur
rencyUtils.java:49)
        ... 10 more
Caused by: com.android.tools.build.bundletool.model.Aapt2Command$Aapt2Exception:
 Command '[C:\Users\~\AppData\Local\Temp\8658885577631656545\output\windows
\aapt2.exe, convert, --output-format, binary, -o, C:\Users\~\AppData\Local\
Temp\6789457478435634974\binary.apk, C:\Users\~\AppData\Local\Temp\67894574
78435634974\proto.apk]' didn't terminate successfully (exit code: -1073741701).
Check the logs.
        at com.android.tools.build.bundletool.model.Aapt2Command$CommandExecutor
.execute(Aapt2Command.java:62)
        at com.android.tools.build.bundletool.model.Aapt2Command$1.convertApkPro
toToBinary(Aapt2Command.java:36)
        at com.android.tools.build.bundletool.io.ApkSerializerHelper.writeToZipF
ile(ApkSerializerHelper.java:159)
        at com.android.tools.build.bundletool.io.ApkSerializerHelper.writeToZipF
ile(ApkSerializerHelper.java:144)
        at com.android.tools.build.bundletool.io.SplitApkSerializer.writeToDisk(
SplitApkSerializer.java:75)
        at com.android.tools.build.bundletool.io.SplitApkSerializer.writeSplitTo
Disk(SplitApkSerializer.java:53)
        at com.android.tools.build.bundletool.io.ApkSetBuilderFactory$ApkSetArch
iveBuilder.addSplitApk(ApkSetBuilderFactory.java:105)
        at com.android.tools.build.bundletool.io.ApkSerializerManager$ApkSeriali
zer.serialize(ApkSerializerManager.java:376)
        at com.android.tools.build.bundletool.io.ApkSerializerManager.lambda$nul
l$3(ApkSerializerManager.java:184)
        at com.google.common.util.concurrent.TrustedListenableFutureTask$Trusted
FutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:117)
        at com.google.common.util.concurrent.InterruptibleTask.run(Interruptible
Task.java:38)
        at com.google.common.util.concurrent.TrustedListenableFutureTask.run(Tru
stedListenableFutureTask.java:77)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
like image 971
Yamuna Avatar asked Oct 26 '25 05:10

Yamuna


1 Answers

You need to download the latest bundletool.jar, After downloading bundle tool you need to open a terminal with the same path as bundle tool located. perform below command you can generate APKS.

1 Below command creates a set of unsigned APKs.

java -jar bundletool.jar build-apks  --bundle=app.aab --output=unsigned.apks

2 Below command creates a set of Signed APKs.

java -jar bundletool.jar build-apks  --bundle=app.aab --output=signed.apks --ks=test.jks --ks-key-alias=replaceyouralieas

Above command will ask you to enter your Keystore password, you need to enter your Keystore password.

3 Below command will find correct apk for your device & install into the device

java -jar bundletool.jar install-apks --apks=signed.apks 

For more detail

like image 71
Sanjay Bhalani Avatar answered Oct 27 '25 20:10

Sanjay Bhalani



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!