You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[BT:0.12.0] Error: Failed to write APK file '/var/folders/z0/r46_v2n94ts8j__q3txlqtkr0000gn/T/2973773764400014628/splits/base-xxhdpi.apk'.
java.io.UncheckedIOException: Failed to write APK file '/var/folders/z0/r46_v2n94ts8j__q3txlqtkr0000gn/T/2973773764400014628/splits/base-xxhdpi.apk'.
at com.android.tools.build.bundletool.io.ConcurrencyUtils.waitFor(ConcurrencyUtils.java:55)
at com.android.tools.build.bundletool.io.ConcurrencyUtils.waitForAll(ConcurrencyUtils.java:42)
at java.util.function.Function.lambda$andThen$1(Function.java:88)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:570)
at com.android.tools.build.bundletool.io.ApkSerializerManager.serializeApks(ApkSerializerManager.java:181)
at com.android.tools.build.bundletool.io.ApkSerializerManager.populateApkSetBuilder(ApkSerializerManager.java:101)
at com.android.tools.build.bundletool.commands.BuildApksManager.executeWithZip(BuildApksManager.java:233)
at com.android.tools.build.bundletool.commands.BuildApksManager.execute(BuildApksManager.java:117)
at com.android.tools.build.bundletool.commands.BuildApksCommand.execute(BuildApksCommand.java:532)
at com.android.tools.build.bundletool.BundleToolMain.main(BundleToolMain.java:74)
at com.android.tools.build.bundletool.BundleToolMain.main(BundleToolMain.java:46)
Caused by: java.io.IOException: Failed to generate v1 signature
at com.android.tools.build.apkzlib.sign.SigningExtension.onOutputZipReadyForUpdate(SigningExtension.java:287)
at com.android.tools.build.apkzlib.sign.SigningExtension.access$200(SigningExtension.java:57)
at com.android.tools.build.apkzlib.sign.SigningExtension$1.lambda$beforeUpdate$2(SigningExtension.java:156)
at com.android.tools.build.apkzlib.zip.ZFile.notify(ZFile.java:2269)
at com.android.tools.build.apkzlib.zip.ZFile.update(ZFile.java:1002)
at com.android.tools.build.apkzlib.zip.ZFile.close(ZFile.java:1335)
at com.android.tools.build.bundletool.io.ApkSerializerHelper.writeToZipFile(ApkSerializerHelper.java:196)
at com.android.tools.build.bundletool.io.ApkSerializerHelper.writeToZipFile(ApkSerializerHelper.java:139)
at com.android.tools.build.bundletool.io.SplitApkSerializer.writeToDisk(SplitApkSerializer.java:75)
at com.android.tools.build.bundletool.io.SplitApkSerializer.writeSplitToDisk(SplitApkSerializer.java:53)
at com.android.tools.build.bundletool.io.ApkSetBuilderFactory$ApkSetArchiveBuilder.addSplitApk(ApkSetBuilderFactory.java:105)
at com.android.tools.build.bundletool.io.ApkSerializerManager$ApkSerializer.serialize(ApkSerializerManager.java:377)
at com.android.tools.build.bundletool.io.ApkSerializerManager.lambda$null$3(ApkSerializerManager.java:185)
at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:117)
at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:38)
at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:77)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.security.InvalidKeyException: Failed to sign using signer "CERT"
at com.android.apksig.internal.apk.v1.V1SchemeSigner.signManifest(V1SchemeSigner.java:295)
at com.android.apksig.internal.apk.v1.V1SchemeSigner.sign(V1SchemeSigner.java:256)
at com.android.apksig.DefaultApkSignerEngine.outputJarEntries(DefaultApkSignerEngine.java:424)
at com.android.tools.build.apkzlib.sign.SigningExtension.onOutputZipReadyForUpdate(SigningExtension.java:285)
... 18 more
Caused by: java.security.InvalidKeyException: Failed to sign using SHA1withDSA
at com.android.apksig.internal.apk.v1.V1SchemeSigner.generateSignatureBlock(V1SchemeSigner.java:519)
at com.android.apksig.internal.apk.v1.V1SchemeSigner.signManifest(V1SchemeSigner.java:293)
... 21 more
Caused by: java.security.InvalidKeyException: The security strength of SHA-1 digest algorithm is not sufficient for this key size
at sun.security.provider.DSA.checkKey(DSA.java:111)
at sun.security.provider.DSA.engineInitSign(DSA.java:143)
at java.security.Signature$Delegate.init(Signature.java:1155)
at java.security.Signature$Delegate.chooseProvider(Signature.java:1115)
at java.security.Signature$Delegate.engineInitSign(Signature.java:1179)
at java.security.Signature.initSign(Signature.java:530)
at com.android.apksig.internal.apk.v1.V1SchemeSigner.generateSignatureBlock(V1SchemeSigner.java:515)
Using SHA-1 is unfortunately required due to the minSdkVersion your app uses because otherwise some devices your app targets wouldn't be able to install the app.
You thus have the options to either use a 1024 bit key, up the minSdkVersion to 21(?), or use an RSA key (not sure in which Android version support for SHA-256 was added nor if JDK has any such restriction as well, you'll have to test).
This specification(bundletool does not support signing apk using SHA256withDSA 2048 bit length keystore) is documented anywhere or commonly known?(I didnt know about this...)
Describe the bug
I tried to generate apks from abb and failed.
I'm not sure but I think it's caused by lack of minSdkVersion attribute part of splitApkManifest.
https://github.com/google/bundletool/blob/master/src/main/java/com/android/tools/build/bundletool/splitters/ModuleSplitter.java#L129
https://github.com/google/bundletool/blob/master/src/main/java/com/android/tools/build/bundletool/model/ModuleSplit.java#L266
https://android.googlesource.com/platform/tools/apksig/+/refs/heads/master/src/main/java/com/android/apksig/internal/apk/v1/V1SchemeSigner.java#124
Bundletool version(s) affected
Version: 0.12.0
Stacktrace
To Reproduce
Known workaround
use SHA256withDSA keystore (keysize 1024bit length)
use SHA256withRSA keystore
Environment:
OS: macOS Mojave 10.14.3
connected-device: Pixel3 API28
The text was updated successfully, but these errors were encountered: