2
votes

Impossible de convertir l'ensemble d'applications en APK sous Android

J'utilise Android Studio 3.4.1. J'essayais de convertir le bundle App en APK à l'aide de l'outil bundle. Je n'ai pas pu générer le fichier APK. J'ai essayé d'utiliser Générer un fichier Apk à partir d'un fichier aab (ensemble d'applications Android) a >

Lorsque j'exécute la commande

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)

j'ai l'erreur ci-dessous. Veuillez me suggérer une solution pour générer l'APK.

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


2 commentaires

c'est signe app-bundle?


votre chemin d'accès aux fichiers bundletool.jar et app.aab est-il correct?


3 Réponses :


1
votes

Vous devez télécharger la dernière bundletool.jar . Après avoir téléchargé l'outil de bundle, vous devez ouvrez un terminal avec le même chemin que l'outil de regroupement localisé. exécutez la commande ci-dessous, vous pouvez générer des APKS.

1 La commande ci-dessous crée un ensemble d'APK non signés.

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

2 La commande ci-dessous crée un ensemble de fichiers APK signés.

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

La commande ci-dessus vous demander d'entrer votre mot de passe Keystore, vous devez entrer votre mot de passe Keystore.

3 La commande ci-dessous trouvera l'apk approprié pour votre appareil et l'installera dans l'appareil

XXX

Pour plus de détails p >


0 commentaires

-1
votes

Bonjour, vous utilisez Android Studio. Mon thème est la raison pour laquelle vous ne suivez pas l'approche traditionnelle d'Android Studio.

Étape 1 -> Ouvrez Android Studio et sélectionnez Build. Étape 2 -> Sélectionnez Build Bundle / APK Ensuite, vous pouvez voir 2 Options Build APK et Build Bundle. Étape 3 -> Sélectionnez Build APK pour APK (c'est pour APK normal).

Pour les APK signés également le même thème

Vous savez peut-être ceci, mais je ne suis pas obligé d'utiliser les commandes et la conversion de .aab vers .apk


0 commentaires

0
votes

Corrigez les autorisations ou prenez possession de C: \\ Users \ ~ \ Appdata \ Local \ Temp ... il ne peut pas le supprimer. Ce chemin de profil avec un ~ est même assez étrange pour Windows, car ~ indique le répertoire home de l'utilisateur actuel sous Linux. En fait, ~ devrait être le nom d'utilisateur Windows actuel, de sorte qu'il hérite des autorisations du répertoire de profil de l'utilisateur actuel ... ce qui n'est pas le cas, et c'est exactement pourquoi il échoue. < / p>

Lier C: \\ Users \ ~ à C: \\ Users \ username peut être un moyen simple de contourner le problème, lorsque vous ne pouvez pas modifier le ~ pour le stockage temporaire.

N'hésitez pas à signaler un problème sur GitHub, si la dernière version de bundletool récupère toujours le répertoire du profil utilisateur à tort. On pourrait imaginer que le sous-système Linux pourrait interférer, car ce ~ n'est pas "normal" pour Windows.


1 commentaires

En fait ~ n'est pas le nom d'utilisateur, je viens d'ajouter pour faire référence au nom d'utilisateur.