Other B4A v9.30 BETA has been released

Erel

Administrator
Staff member
Licensed 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:

Massimiliano

Member
Licensed User
Which library causes this error? Where is the relevant code?

Make sure that the library is not in the internal libraries folder as it will not be jetified.

This is a small sample using DesignSupport and AHViewPager Library
B4X:
Sub Process_Globals
End Sub

Sub Globals
    Private VP As AHViewPager
    Private PC As AHPageContainer
    Private TabLayout As DSTabLayout
End Sub

Sub Activity_Create(FirstTime As Boolean)
    PC.Initialize
    VP.PageContainer = PC
    TabLayout.SetViewPager(VP)  ' Here a compilation error
End Sub
 
Upvote 0

kisoft

Well-Known Member
Licensed User
In my case, the problem is the code I previously pasted. I just compiled correctly two more applications that use NB6 and NotificationBuilder and everything works fine. I do not use this code in these applications.
 
Upvote 0

Peter Simpson

Expert
Licensed User
Beta #3 is released. It fixes the issue with libraries that expose Android Support types (DesignSupport for example).

Please try it.

Edit: it will be online in 3 minutes.

I've downloaded the setup file 3 times now and I keep getting the same error, maybe you should upload it again onto your server as it doesn't run, well not for me anyway..

Annotation 2019-07-02 140745.png
 
Upvote 0

DonManfred

Expert
Licensed User
I've downloaded the setup file 3 times now and I keep getting the same error, maybe you should upload it again onto your server as it doesn't run, well not for me anyway..
maybe @Erel already did uploaded it again. I just tried to download beta #3 and the setup is working for me.
 
Upvote 0

kisoft

Well-Known Member
Licensed User
It does not matter to me anymore but using this code gives the same error.
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)

I have other solutions that work well.
 
Upvote 0

Jack Cole

Well-Known Member
Licensed User
I am having a problem with using the following compiler directive:

B4X:
#MultiDex: True

The app quickly disappears and there are no filtered logs. The unfiltered log shows:

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 "/data/app/mindware.mindgames-W2a92NvW6dq5rEKRRQQ-HQ==/base.apk"],nativeLibraryDirectories=[/data/app/mindware.mindgames-W2a92NvW6dq5rEKRRQQ-HQ==/lib/x86_64, /system/lib64]]
 
Upvote 0

Markos

Active Member
Licensed User
Hi

If I have my propietary .lib that may have to be jetified? If I choose to recompile my library will the resultant output be AndroidX compliant? Therefore not needed to attempt to jetify?

Thanx
 
Upvote 0

Markos

Active Member
Licensed User
if the jar is inside the additional libs folder then it is found by the jetifier tool and jetified if needed when running the tool
Many thanx its what I suspected.

All future update compilations I make to my library would be AndroidX format and functiinal compliant?
 
Upvote 0
Top