Other B4A v8.30 has been released

Erel

B4X founder
Staff member
Licensed User
Longtime User
I'm happy to release B4A v8.30. This update includes many improvements to the debugger, an important change to the way the starter service behaves on Android 8+ as well as other improvements.

New features and improvements:
  • Resumable subs in debug mode are optimized in the same way other subs are optimized. You can see the difference in this video:
    (direct link: https://vimeo.com/266683414)

  • Starter service is never destroyed until the process is killed - if you carefully read the automatic foreground notifications tutorial then you should be aware to a significant behavioral change in Android 8+. The OS kills services while the app is in the background. In previous versions the OS never killed specific services (only the complete process). This change made it much more difficult to work with the starter service as you could no longer assume that the starter service is running.
    Starting from B4A v8.3 the starter service will never be paused until the process is killed. Internally it switches from the service context to the application context.
  • Several other important debugger optimizations.
  • Bit.ArrayCopy method. Same as ByteConverter.ArrayCopy.
  • New File methods: CopyAsync, Copy2Async, ReadBytes, WriteBytes and ListFilesAsync.
  • Support for Java 8 jars and AARs.
  • Ctrl + Click on class types and custom types.
  • Autocomplete improvements.
  • Autocomplete in CallSub methods:

    test-gif.68252


  • B4A Sdk Manager v3.27 - Supports Java 10.
  • Files can be added to groups directly.
  • For loops optimization (in release mode).
  • BitmapCreator v3.60 is included as an internal library.
  • xCustomListView v1.63 is included as an internal library.
  • XUI v1.70 is included as an internal library. This is a large update to XUI library with support for text measurements and other features.

    SS-2018-05-09_13.05.38.png

  • Phone.ShellAsync - Asynchronous version of Phone.Shell.
  • Bug fixes and other minor improvements.
Developers who are eligible for a free upgrade will receive an email with upgrade instructions.
Other developers will receive an email with a renewal offer.
 
Last edited:

Colin Evans

Active Member
Licensed User
Longtime User
Cheer Erel, just finished my first (full) program and been amazed how easy, with help of yourself and others explaining things along the way, its been to develop my Sea Fishing App. Thanks again.
 
Upvote 0

netsistemas

Active Member
Licensed User
Longtime User
For f = 1 to 1
great!
f = f -1
next


and, what is the best way to send you ideas for new features?
 
Upvote 0

ocalle

Active Member
Licensed User
Longtime User
Downloaded, work fine! Many Thanks!
:)
 
Upvote 0

pazzokli

Active Member
Licensed User
Longtime User
Hi Erel, with this release my apps crash


*** Service (starter) Create ***
** Service (starter) Start **
** Activity (main) Create, isFirst = true **
** Activity (main) Resume **
*** Service (firebasemessaging) Create ***
** Service (firebasemessaging) Start **
firebasemessaging_subscribetotopics (java line: 267)
java.lang.NoSuchMethodError: No virtual method subscribeToTopic(Ljava/lang/String;)Lcom/google/android/gms/tasks/Task; in class Lcom/google/firebase/messaging/FirebaseMessaging; or its super classes (declaration of 'com.google.firebase.messaging.FirebaseMessaging' appears in /data/app/com.domos.client-1/base.apk)
at anywheresoftware.b4a.objects.FirebaseNotificationsService$FirebaseMessageWrapper.SubscribeToTopic(FirebaseNotificationsService.java:130)
at com.domos.client.firebasemessaging._subscribetotopics(firebasemessaging.java:267)
at java.lang.reflect.Method.invoke(Native Method)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:191)
at anywheresoftware.b4a.keywords.Common$11.run(Common.java:1154)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6682)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410)
--------- beginning of crash
*** Service (httputils2service) Create ***
** Service (httputils2service) Start **
*** Service (starter) Create ***
** Service (starter) Start **
** Activity (main) Create, isFirst = true **
** Activity (main) Resume **
*** Service (firebasemessaging) Create ***
** Service (firebasemessaging) Start **
firebasemessaging_subscribetotopics (java line: 267)
java.lang.NoSuchMethodError: No virtual method subscribeToTopic(Ljava/lang/String;)Lcom/google/android/gms/tasks/Task; in class Lcom/google/firebase/messaging/FirebaseMessaging; or its super classes (declaration of 'com.google.firebase.messaging.FirebaseMessaging' appears in /data/app/com.domos.client-1/base.apk)
at anywheresoftware.b4a.objects.FirebaseNotificationsService$FirebaseMessageWrapper.SubscribeToTopic(FirebaseNotificationsService.java:130)
at com.domos.client.firebasemessaging._subscribetotopics(firebasemessaging.java:267)
at java.lang.reflect.Method.invoke(Native Method)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:191)
at anywheresoftware.b4a.keywords.Common$11.run(Common.java:1154)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6682)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410)
*** Service (starter) Create ***
** Service (starter) Start **
** Activity (main) Create, isFirst = true **
** Activity (main) Resume **
*** Service (firebasemessaging) Create ***
** Service (firebasemessaging) Start **
firebasemessaging_subscribetotopics (java line: 267)
java.lang.NoSuchMethodError: No virtual method subscribeToTopic(Ljava/lang/String;)Lcom/google/android/gms/tasks/Task; in class Lcom/google/firebase/messaging/FirebaseMessaging; or its super classes (declaration of 'com.google.firebase.messaging.FirebaseMessaging' appears in /data/app/com.domos.client-1/base.apk)
at anywheresoftware.b4a.objects.FirebaseNotificationsService$FirebaseMessageWrapper.SubscribeToTopic(FirebaseNotificationsService.java:130)
at com.domos.client.firebasemessaging._subscribetotopics(firebasemessaging.java:267)
at java.lang.reflect.Method.invoke(Native Method)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:191)
at anywheresoftware.b4a.keywords.Common$11.run(Common.java:1154)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6682)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410)
 
Upvote 0

Erel

B4X founder
Staff member
Licensed User
Longtime User
Hi Erel, with this release my apps crash
You need to update firebase-messaging. Open B4A Sdk Manager and update all recommended items.
Note that there is an issue with the latest version of firebase-auth. For now it is better not to update firebase-auth if you are using FirebaseAuth.
 
Upvote 0
Top