Other B4A v9.30 BETA has been released

Erel

B4X founder
Staff member
Licensed User
Longtime User
I'm happy to release B4A v9.30 BETA. This update adds support for the new AndroidX SDK.

firefox_nvyw2qmamF.png


AndroidX SDK replaces the Android Support Library SDK. Android Support Library is no longer maintained and new resources such as the latest versions of Firebase libraries depend on AndroidX.

With B4A v9.30 you can continue to use the old Android Support Library or switch to AndroidX. Switching to AndroidX is simple: https://www.b4x.com/android/forum/threads/androidx-sdk.107236/

Improvements:
  • Support for AndroidX SDK.
  • Jetifier tool that creates AndroidX versions of libraries. Note that this step isn't needed for most libraries.

    javaw_dyj1dW3oZR.png


  • Auto bookmarks feature:

    B4A_GE6MP7tWIW.png
    • Recent code positions and designer layouts appear as tabs in the window title.
    • The IDE decides on the list of tabs based on several factors (recency, modifications and others).
    • The list is saved together with the project and restored when the project is loaded.
  • Ctrl + Click on layout files from the code:

    B4i_lh6eQY0UA6.png
  • B4A Sdk Manager v3.50 is included. It supports AndroidX resources.
  • Issue with BaseFolder in command line builder fixed.
  • Latest versions of internal libraries are included. TabStripViewPager is an internal library now.
  • Bug fixes and other minor improvements.

Developers who are eligible for a free upgrade will receive an email with upgrade instructions.
Remember that this is a beta version!
 
Last edited:

Peter Simpson

Expert
Licensed User
Longtime User
The real test is to open B4A Sdk Manager and update the recommended items. It will show a message about AndroidX and you will then compile your app with AndroidX SDK.

You can always go back to the old SDK by downloading the ready to run SDK.

That's the first things that I did Erel after reading above that B4A Sdk Manager being updated to V3.50.

The amount of preselected items were phenomenal, there are loads of them. I've now assembled 5 of my clients packages with absolutely no issues whatsoever.

Btw I also ran the Jetifier tool, there's just 2 libs that it didn't appear to like too much (or whatever).

Thanks again Erel...
 
Upvote 0

scsjc

Well-Known Member
Licensed User
Longtime User
Work Perfect !!!
Great job, ... thank you very much


7 years ago, I decided to try B4A, it was one of the best decisions made in my life.
A pleasure to work with a tool like B4A, and a human support from EREL and all the collaborators of this forum.

Greetings to all
 
Last edited:
Upvote 0

Erel

B4X founder
Staff member
Licensed User
Longtime User
Btw I also ran the Jetifier tool, there's just 2 libs that it didn't appear to like too much (or whatever)
I saw it as well (AcceleratedSurface and another one). The error happens in the Android SDK tool. Most libraries don't need to be "jetified" anyway so you can ignore those errors.
 
Upvote 0

alex2103

Member
Licensed User
Longtime User
andoidX:
B4X:
java.lang.RuntimeException: Unable to instantiate application android.support.multidex.MultiDexApplication: java.lang.ClassNotFoundException: Didn't find class "android.support.multidex.MultiDexApplication" on path: DexPathList[[zip file "/system/framework/org.apache.http.legacy.boot.jar", zip file "/data/app/com.ua.globus.alarm-38NZBw7KW2Ii4J7vwYv5qg==/base.apk"],nativeLibraryDirectories=[/data/app/com.ua.globus.alarm-38NZBw7KW2Ii4J7vwYv5qg==/lib/arm64, /system/lib64, /product/lib64]]
 
Upvote 0

moster67

Expert
Licensed User
Longtime User
andoidX:
B4X:
java.lang.RuntimeException: Unable to instantiate application android.support.multidex.MultiDexApplication: java.lang.ClassNotFoundException: Didn't find class "android.support.multidex.MultiDexApplication" on path: DexPathList[[zip file "/system/framework/org.apache.http.legacy.boot.jar", zip file "/data/app/com.ua.globus.alarm-38NZBw7KW2Ii4J7vwYv5qg==/base.apk"],nativeLibraryDirectories=[/data/app/com.ua.globus.alarm-38NZBw7KW2Ii4J7vwYv5qg==/lib/arm64, /system/lib64, /product/lib64]]
Already reported and temporary fix is available:
https://www.b4x.com/android/forum/t...t-work-with-multidex-true.107232/#post-670553
 
Upvote 0

josejad

Expert
Licensed User
Longtime User
Updated and AndroidX installed. Everything has worked fine here¡¡
 
Upvote 0

kisoft

Well-Known Member
Licensed User
Longtime User
HI, this error occurs during compilation
B4X:
B4A line: 87
cn.SetStyle(cn1)
src\aaa\bbb\firebasemessaging.java:192: error: package android.support.v4.app.NotificationCompat does not exist
_cn.SetStyle((android.support.v4.app.NotificationCompat.Style)(_cn1.getObject()));
 
Upvote 0

Massimiliano

Member
Licensed User
Longtime User
Have you ran the Jetify tool?
I ran Jetify tool...

I have a similar issue during compile:
actnbr.java:894: error: package android.support.v4.view does not exist
mostCurrent._tablayout.SetViewPager((android.support.v4.view.ViewPager)(mostCurrent._vp.getObject()));
 
Upvote 0

kisoft

Well-Known Member
Licensed User
Longtime User
H
Which library causes this error? Where is the relevant code?

NB6, NotificationBuilder
B4X:
Dim sdkversion As Int
    Dim jo As JavaObject
    sdkversion = jo.InitializeStatic("android.os.Build$VERSION").GetField("SDK_INT")
    If sdkversion < 26 Then
        Dim cn As NotificationBuilder
        Dim cn1 As NotificationBigTextStyle
        If cn1.IsInitialized = False Then cn1.Initialize
        If  cn.IsInitialized = False Then  cn.Initialize
        cn1.BigText = Message.GetData.Get("title")  & CRLF & Message.GetData.Get("body")
        cn1.SummaryText = "Koniec Powiadomienia"
        cn.SmallIcon = "icon"
        cn.DefaultLight = True
        cn.DefaultVibrate = False
        cn.DefaultSound = True
        cn.ContentInfo = ""
        cn.AutoCancel = True
'        cn.ContentTitle = "Notifica Pizza Eat"
'        cn.ContentText = "Notifica Pizza Eat"
        cn.ContentTitle = Message.GetData.Get("title")
        cn.ContentText = Message.GetData.Get("body")
   
        cn.setActivity(Main)
        cn.SetStyle(cn1)
        cn.Notify(1)

In the additional library folder, I have two NotificationBuilder and NotificationBuilder.androidx.
 
Last edited:
Upvote 0
Top