Other B4A v10.7 is available for download

Status
Not open for further replies.

Erel

Administrator
Staff member
Licensed User
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.
It can also provide some performance improvements.

These are under the hood changes. The behavior should be exactly as before.

Bundles - AAB

There is a new build bundle option:

1614076659519-png.108598


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:

asales

Well-Known Member
Licensed User
I understand that it is only an error that affects only the Drawer Navigation of the DesignSupport library, right?
To me, yes.
See my post here:
 
Upvote 0

Erel

Administrator
Staff member
Licensed User
<off topic>
Xamarin is not cross platform at all. Only Xamarin.Forms which is very limited. Flutter provides its own UI layer and I'm not familiar enough to say how easy it is, to access platform specific features (and there are many in each platform).

There are advantages and disadvantages for each approach. B4X tries very hard and actually succeeds in allowing developers to access all the features easily, even if they are not available in other platforms.
Example of a complex app where 99% of the code is shared: https://www.b4x.com/android/forum/t...todon-pleroma-social-networks.124214/#content
</off topic>
For further discussion about cross platform, please start a new thread.
 
Upvote 0

scsjc

Well-Known Member
Licensed User
<off topic>
Xamarin is not cross platform at all. Only Xamarin.Forms which is very limited. Flutter provides its own UI layer and I'm not familiar enough to say how easy it is, to access platform specific features (and there are many in each platform).

There are advantages and disadvantages for each approach. B4X tries very hard and actually succeeds in allowing developers to access all the features easily, even if they are not available in other platforms.
Example of a complex app where 99% of the code is shared: https://www.b4x.com/android/forum/t...todon-pleroma-social-networks.124214/#content
</off topic>
For further discussion about cross platform, please start a new thread.

I am not very familiar with other platforms either, but I am very familiar with B4X, and I am very clear that the effort to portray B4X is insurmountable 🚀🚀🚀
 
Upvote 0

omarruben

Active Member
Licensed User
Xamarin lost the race... for me the big contenders are Embarcadero Delphi (expensive) and Flutter , B4X is the most rapid tool at the moment
 
Upvote 0

Peter Simpson

Expert
Licensed User
B4X will be more better if one code base (Like Flutter, Xamarin) I know B4X Pages Option. Just My Wish :) Thank you for B4X.
Don't forget that B4X deploys apps onto Android and iOS devices natively with absolutely no extra dependencies.

Look at the screenshot below. The comparison is based upon a test app created in XF that simply creates/uses a SQLite database
and presents the data in a scrollable list view.
1616065688063.png


I'm sorry for going off-topic, but I'm sure that Erel will forgive me just this one time ;)
 
Upvote 0

scsjc

Well-Known Member
Licensed User
Don't forget that B4X deploys apps onto Android and iOS devices natively with absolutely no extra dependencies.

Look at the screenshot below. The comparison is based upon a test app created in XF that simply creates/uses a SQLite database
and presents the data in a scrollable list view.
View attachment 109940

I'm sorry for going off-topic, but I'm sure that Erel will forgive me just this one time ;)
nice small spider :)
 
Upvote 0

yiankos1

Active Member
Licensed User
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
I created my-release-key.jks and upload_certificate.pem following instructions. Where should i place them, in order conditional release "find" these files in order to upload new app (.aab format)?
 
Upvote 0

tsteward

Well-Known Member
Licensed User
Thank you for latest B4X which I have loaded tonight and compiled my app fine.
However it looks different. Colours are more vibrant, Labels that were black are now white, Top of screen where time and phone reception battery etc is has change from blue to orange?
I don't know why?
 
Upvote 0

mcqueccu

Well-Known Member
Licensed User
I created my-release-key.jks and upload_certificate.pem following instructions. Where should i place them, in order conditional release "find" these files in order to upload new app (.aab format)?


Anywhere but preferably where you are keeping your old keystore file.

then put the location like this


#SignKeyFile: c:\somefolder\my-release-key.jks
 
Upvote 0

Erel

Administrator
Staff member
Licensed User
However it looks different. Colours are more vibrant, Labels that were black are now white, Top of screen where time and phone reception battery etc is has change from blue to orange?
I don't know why?
Better to start a new thread.

I created my-release-key.jks and upload_certificate.pem following instructions. Where should i place them, in order conditional release "find" these files in order to upload new app (.aab format)?
Wherever you like. You can set the full path in #SignKeyFile.
 
Upvote 0

aeric

Expert
Licensed User
Thank you for latest B4X which I have loaded tonight and compiled my app fine.
However it looks different. Colours are more vibrant, Labels that were black are now white, Top of screen where time and phone reception battery etc is has change from blue to orange?
I don't know why?
Could it be the new SDK 30?
 
Upvote 0

scsjc

Well-Known Member
Licensed User
Is there a step-by-step tutorial to generate an AppBundle with a PlayStore signing key? ¿Old App is a same key or need generate from playstore?
The AAB files can be run in the emulator to see if everything is correct?
 
Upvote 0

Erel

Administrator
Staff member
Licensed User
It is very simple with an existing app:

1. Opt-in to Google signing key feature.
2. Follow their instructions with pepk.jar (you will see it).
3. Build an app bundle and upload it.

A new app will require an additional step (with the #IF AAB).
Everything will be explained, including how to test it with the bundletool.
 
Upvote 0

max123

Active Member
Licensed User
Many thanks for this new release Erel ;) I not sure if this is a right place, but there are plains to make B4X IDEs working on linux machines without use a Virtual Machine? I would like to use B4A and B4J on Raspberry that I use as portable development tool..
Many thanks
 
Last edited:
Upvote 0
Status
Not open for further replies.
Top