Other B4A v13.40 BETA - with a shiny new SDK

Erel

B4X founder
Staff member
Licensed User
Longtime User
I'm happy to release a new beta version of B4A. The prepackaged Android SDK has been updated and is based on the current latest versions of all resources and Android SDK 36.
The handling of SDK resources was improved.

The built-in themes were updated with the new edge-to-edge feature disabled by default (https://www.b4x.com/android/forum/t...t-of-edge-to-edge-enforcement.167109/#content).

Installation instructions:

1. B4A - https://www.b4x.com/android/files/beta.exe
2. Download latest version of Android command line tools: https://developer.android.com/studio/index.html#command-line-tools-only
Unpack it in a new folder.
3. Download the prepackaged resources: https://www.b4x.com/android/files/resources_7_25.zip
The resources are also available on github: https://github.com/AnywhereSoftware/B4A/releases/tag/7_25

Best to use a tool such as 7zip to unpack it: https://www.7-zip.org/

The Android SDK folder should look like:
1751897810993.png

4. Set the path of android.jar (Tools - Configure Paths): <android sdk>\platforms\android-36\android.jar

Note that ExoPlayer is an internal library now.
The prepackaged resources should include all resources most developers need, including for Firebase and ML-Kit sdks.
No need to run B4A-SdkManager, unless a resource is missing.

Notes:

1. If using crashlytics then update the #AdditionalJar list: https://www.b4x.com/android/forum/threads/crashlytics-crash-reports.87510/#content
 
Last edited:

IDDGroup

Member
Licensed User
Longtime User
i got it working, thanks!

I noticed one thing different, when i try the software on the phone, the phone dock overlays the screen, is that something i missed? (maybe something to do with the edge to edge?)
 
Upvote 0

mcqueccu

Well-Known Member
Licensed User
Longtime User
1. Starting New B4XPages project still uses targetSdkVersion 34. The B4XPages.b4xtemplate needs to be updated to use the recommended 35
2. When you delete everything from Manifest and save. It recreates the manifest but uses targetSdkVersion 33 instead of 35 as well
 
Upvote 0

Erel

B4X founder
Staff member
Licensed User
Longtime User
1. Starting New B4XPages project still uses targetSdkVersion 34. The B4XPages.b4xtemplate needs to be updated to use the recommended 35
2. When you delete everything from Manifest and save. It recreates the manifest but uses targetSdkVersion 33 instead of 35 as well
Both are fixed for the next update.
 
Upvote 0

Erel

B4X founder
Staff member
Licensed User
Longtime User
Do I need to do any update in the Manifest other than changing the 34 to 35?
No.

I noticed one thing different, when i try the software on the phone, the phone dock overlays the screen, is that something i missed? (maybe something to do with the edge to edge?)
This is the new edge to edge feature that is enabled by the OS, with targetSdkVersion=35.
It is disabled with the default theme:
B4X:
CreateResourceFromFile(Macro, Themes.LightTheme)
If you are using a custom theme then you can disable it with: https://www.b4x.com/android/forum/t...t-of-edge-to-edge-enforcement.167109/#content
 
Upvote 0
Upvote 0

Erel

B4X founder
Staff member
Licensed User
Longtime User
Google encourages developers to use edge-to-edge. So why do you have it disabled by default? Could this be a problem in the future?
1. You can enable it easily. Start a new thread and I'll show you how.
2. Edge to edge with several other related features will become mandatory in a year or two (for some devices at least). I plan to add support for resizable activities before that.
 
Upvote 0

ibra939

Active Member
Licensed User
Longtime User
Wow,great update.

Thank you Erel
 
Upvote 0

Erel

B4X founder
Staff member
Licensed User
Longtime User
Notice that there is no B4XPage_Resize event (or similar resize events) in B4A like there is in B4J and B4i. The paradigm in Android was that the activity is recreated when it is resized. This usually happens when the orientation changes. This was an over-engineered solution to a problem that is solved in any UI solution for decades.
B4XPages worked around this issue by forcing the orientation to be locked. This is only in B4A.

To better support foldables and devices with larger screens, Google is pushing in a different direction (which should have been chosen from the start) and are requiring developers to deal with activities being resized. This require some changes in B4A itself and also in the developers code. It will happen in the upcoming months. There is still enough time for that.
 
Upvote 0
1. You can enable it easily. Start a new thread and I'll show you how.
2. Edge to edge with several other related features will become mandatory in a year or two (for some devices at least). I plan to add support for resizable activities before that.
Thank you
Can we really update our old complex projects easily with Android 15 changes and these constraints? Or will it be difficult to do?
 
Upvote 0

vigor

New Member
Hello. I'm having trouble downloading the "resources_7_25.zip" file. The download process stops after about 500MB. I've tried it on three computers.
 
Upvote 0

fbritop

Well-Known Member
Licensed User
Longtime User
Hi
Should phpne.SdkVersion should output 35 if I follow this instructions?
My manifest:
B4X:
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="35"/>

Because now, it outputs 34

Even thow when I compile the logs show:

B4X:
B4A Version: 13.40 BETA #1
Parsing code.    (1.71s)
    Java Version: 19
Building folders structure.    (0.14s)
Running custom action.    (0.06s)
Compiling code.    (1.53s)
    
ObfuscatorMap.txt file created in Objects folder.
Compiling layouts code.    (0.02s)
Organizing libraries.    (0.00s)
    (AndroidX SDK)
Compiling resources    (0.10s)
Linking resources    (3.51s)
    build tools: 36.0.0, android jar: android-36
Compiling generated Java code.    (3.09s)
 
Upvote 0

Erel

B4X founder
Staff member
Licensed User
Longtime User
Hello. I'm having trouble downloading the "resources_7_25.zip" file. The download process stops after about 500MB. I've tried it on three computers.
The size of this file is about 553MB. It is served from CloudFlare CDN. I'm not sure why you are having problems downloading it. Try with a different browser.



Should phpne.SdkVersion should output 35 if I follow this instructions?
There is no relation between targetSdkVersion and Phone.SdkVersion. Phone.SdkVersion returns the current device version. If you are running it on an Android 15 device then it will return 35 (https://apilevels.com/)
 
Upvote 0
Top