Download link: https://www.b4x.com/b4a.html
In the last couple of years, Google made many changes to Android, quite complex, building toolchain. With a few workarounds, it was possible to keep using the older tools, but at this point we have reached their limits.
This update replaces several components of the underlying tools (AAPT2, APKSigner and AAB bundle tool).
It solves all kinds of limitations including:
These are under the hood changes. The behavior should be exactly as before.
Bundles - AAB
There is a new build bundle option:
There is no reason to build bundles (AABs) except for Google Play submissions.
You need to download bundletool.jar and put it in <android sdk>\tools\bin
A new attribute named #SignKeyAlgorithm was added together with a new automatic conditional compilation symbol - AAB, they can be used in cases where the AAB signing key is different than the standard key. This is relevant for new apps:
There are some old third party libraries that are not compatible with the new toolchain (DesignSupport for example). If your project depends on such library then you can keep a copy of B4A 10.6. B4A 10.6 is not compatible with targetSdkVersion=30 so it is only a temporary solution.
B4A 10.7 depends on a recent version of the build tools. If you get an error similar to:
Signing package file (debug key). Error
Unsupported option: --v3-signing-enabled. See --help for supported options.
Then you are using an old version of Android SDK and need to upgrade. It is very simple to upgrade the SDK: https://www.b4x.com/b4a.html
Download link: https://www.b4x.com/b4a.html
In the last couple of years, Google made many changes to Android, quite complex, building toolchain. With a few workarounds, it was possible to keep using the older tools, but at this point we have reached their limits.
This update replaces several components of the underlying tools (AAPT2, APKSigner and AAB bundle tool).
It solves all kinds of limitations including:
- Support for signing scheme v2, which is required when setting targetSdkVersion to 30.
- Support for building app bundles. This type of package will be required by Google Play, for new apps, later this year.
- Support for newer versions of SDK resources.
These are under the hood changes. The behavior should be exactly as before.
Bundles - AAB
There is a new build bundle option:
There is no reason to build bundles (AABs) except for Google Play submissions.
You need to download bundletool.jar and put it in <android sdk>\tools\bin
A new attribute named #SignKeyAlgorithm was added together with a new automatic conditional compilation symbol - AAB, they can be used in cases where the AAB signing key is different than the standard key. This is relevant for new apps:
B4X:
#if AAB
#SignKeyFile: my-release-key.jks
#SignKeyPassword: xxxxxxx
#SignKeyAlgorithm: -digestalg SHA1 -sigalg SHA256withRSA
#end if
There are some old third party libraries that are not compatible with the new toolchain (DesignSupport for example). If your project depends on such library then you can keep a copy of B4A 10.6. B4A 10.6 is not compatible with targetSdkVersion=30 so it is only a temporary solution.
B4A 10.7 depends on a recent version of the build tools. If you get an error similar to:
Signing package file (debug key). Error
Unsupported option: --v3-signing-enabled. See --help for supported options.
Then you are using an old version of Android SDK and need to upgrade. It is very simple to upgrade the SDK: https://www.b4x.com/b4a.html
Download link: https://www.b4x.com/b4a.html
Last edited: