Erel B4X founder Staff member Licensed User Longtime User Aug 31, 2020 #1 This update adds support for the latest version of Firebase, Crashlytics and Android SDK. B4ASdkManager updated to support latest version of Android SDK command line tools. Firebase libraries updated to support latest version of Firebase SDK. OkHttp updated based on OkHttp 3.14.9. Support for latest version of Crashlytics. Previous version will stop tracking crashes on November 2020. B4X version of KeyValueStore added as an internal library. Internal libraries updated: B4XPages, B4XDrawer, B4XCollections, XUI Views and BCTextEngine. Deprecated libraries removed: CustomListView (replaced with xCustomListView), Http and HttpUtils2 (replaced with OkHttp and OkHttpUtils2). B4XPages template updated. IDE performance improvements related to projects which use many b4xlibs. New indicators to help understand the code flow with resumable subs: I recommend switching to the latest command line tools + Android SDK. This means that you need to download a new SDK. You can keep the previous one as well. Instructions: Download command line tools v6609375: https://developer.android.com/studio#command-tools Unpack in C:\Android Download additional resources: https://b4xfiles-4c17.kxcdn.com/b4a/resources_9_20.zip Unpack in C:\Android. It should look like this: Set android.jar path in the IDE to: C:\Android\platforms\android-30\android.jar Note that you don't need to run B4A Sdk Manager at all. All the required components are included. If you do want to run the emulator then start Tools - B4A Sdk manager, install the recommended items and create a new AVD. Beta link: www.b4x.com/android/files/beta.exe Attachments 1598867682604.png 17.6 KB · Views: 1,567 Last edited: Aug 31, 2020
This update adds support for the latest version of Firebase, Crashlytics and Android SDK. B4ASdkManager updated to support latest version of Android SDK command line tools. Firebase libraries updated to support latest version of Firebase SDK. OkHttp updated based on OkHttp 3.14.9. Support for latest version of Crashlytics. Previous version will stop tracking crashes on November 2020. B4X version of KeyValueStore added as an internal library. Internal libraries updated: B4XPages, B4XDrawer, B4XCollections, XUI Views and BCTextEngine. Deprecated libraries removed: CustomListView (replaced with xCustomListView), Http and HttpUtils2 (replaced with OkHttp and OkHttpUtils2). B4XPages template updated. IDE performance improvements related to projects which use many b4xlibs. New indicators to help understand the code flow with resumable subs: I recommend switching to the latest command line tools + Android SDK. This means that you need to download a new SDK. You can keep the previous one as well. Instructions: Download command line tools v6609375: https://developer.android.com/studio#command-tools Unpack in C:\Android Download additional resources: https://b4xfiles-4c17.kxcdn.com/b4a/resources_9_20.zip Unpack in C:\Android. It should look like this: Set android.jar path in the IDE to: C:\Android\platforms\android-30\android.jar Note that you don't need to run B4A Sdk Manager at all. All the required components are included. If you do want to run the emulator then start Tools - B4A Sdk manager, install the recommended items and create a new AVD. Beta link: www.b4x.com/android/files/beta.exe
Erel B4X founder Staff member Licensed User Longtime User Aug 31, 2020 #2 Using crashlytics is very simple. It requires the updated SDK. 0. Follow firebase integration tutorial: Integrating Firebase Services 1. Add to Main: Code: Copy #AdditionalJar: com.google.firebase:firebase-crashlytics 2. Make sure that #VersionName attribute is not empty (I wasted 4 hours on this one). 3. Add to manifest editor: Code: Copy CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase) CreateResourceFromFile(Macro, FirebaseAnalytics.Firebase) CreateResourceFromFile(Macro, FirebaseAnalytics.Crashlytics) 4. Make sure that Crashlytics is enabled in Firebase console and crash the app in release mode. You can use this code: Code: Copy Dim i As Int = "aaa" The crash should appear in Firbease console under Quality - Crashlytics after a few minutes. Upvote 0
Using crashlytics is very simple. It requires the updated SDK. 0. Follow firebase integration tutorial: Integrating Firebase Services 1. Add to Main: Code: Copy #AdditionalJar: com.google.firebase:firebase-crashlytics 2. Make sure that #VersionName attribute is not empty (I wasted 4 hours on this one). 3. Add to manifest editor: Code: Copy CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase) CreateResourceFromFile(Macro, FirebaseAnalytics.Firebase) CreateResourceFromFile(Macro, FirebaseAnalytics.Crashlytics) 4. Make sure that Crashlytics is enabled in Firebase console and crash the app in release mode. You can use this code: Code: Copy Dim i As Int = "aaa" The crash should appear in Firbease console under Quality - Crashlytics after a few minutes.
Pendrush Well-Known Member Licensed User Longtime User Aug 31, 2020 #3 I'm not able to start SDK Manager from menu inside B4A. EDIT: when start manager from JAR i get this: EDIT 2: First error is resolved: Change of path to javac.exe. Last edited: Aug 31, 2020 Upvote 0
I'm not able to start SDK Manager from menu inside B4A. EDIT: when start manager from JAR i get this: EDIT 2: First error is resolved: Change of path to javac.exe.
M MbedAndroid Well-Known Member Licensed User Longtime User Aug 31, 2020 #4 this link gives a corrupted zip Download additional resources: https://b4xfiles-4c17.kxcdn.com/b4a/resources_9_20.zip Upvote 0
this link gives a corrupted zip Download additional resources: https://b4xfiles-4c17.kxcdn.com/b4a/resources_9_20.zip
DonManfred Expert Licensed User Longtime User Aug 31, 2020 #5 MbedAndroid said: this link gives a corrupted zip Download additional resources Click to expand... Not for me. Try it with a different browser. Upvote 0
MbedAndroid said: this link gives a corrupted zip Download additional resources Click to expand... Not for me. Try it with a different browser.
Erel B4X founder Staff member Licensed User Longtime User Aug 31, 2020 #6 Pendrush said: EDIT 2: First error is resolved: Change of path to javac.exe. Click to expand... Which java are you using now? @DonManfred are you able to start the sdk manager? Upvote 0
Pendrush said: EDIT 2: First error is resolved: Change of path to javac.exe. Click to expand... Which java are you using now? @DonManfred are you able to start the sdk manager?
DonManfred Expert Licensed User Longtime User Aug 31, 2020 #7 Erel said: @DonManfred are you able to start the sdk manager? Click to expand... Yes i am. Upvote 0
Pendrush Well-Known Member Licensed User Longtime User Aug 31, 2020 #8 SDK Manager is starting after change path of javac (OpenJDK 11). Upvote 0
DonManfred Expert Licensed User Longtime User Aug 31, 2020 #9 DonManfred said: Yes i am. Click to expand... Edit: Only at my PC at work. Here at home i get an error that the VM can not be initialized Upvote 0
DonManfred said: Yes i am. Click to expand... Edit: Only at my PC at work. Here at home i get an error that the VM can not be initialized
Erel B4X founder Staff member Licensed User Longtime User Aug 31, 2020 #10 I guess that there is a configuration problem. What is the path to javac.exe? Do you get any other errors when you try to run a project? Upvote 0
I guess that there is a configuration problem. What is the path to javac.exe? Do you get any other errors when you try to run a project?
DonManfred Expert Licensed User Longtime User Aug 31, 2020 #11 Erel said: What is the path to javac.exe? Click to expand... I tried C:\Java\jdk-11.0.1\bin\javac.exe C:\Java\jdk-14.0.1\bin\javac.exe and C:\Program Files\Java\jdk1.8.0_202\bin Is it possible to get details about the exception? Upvote 0
Erel said: What is the path to javac.exe? Click to expand... I tried C:\Java\jdk-11.0.1\bin\javac.exe C:\Java\jdk-14.0.1\bin\javac.exe and C:\Program Files\Java\jdk1.8.0_202\bin Is it possible to get details about the exception?
DonManfred Expert Licensed User Longtime User Aug 31, 2020 #12 Update: My Firewall was blocking the new SDK Manager :-( Now working... Upvote 0
Star-Dust Expert Licensed User Longtime User Aug 31, 2020 #13 Erel said: Deprecated libraries removed: CustomListView (replaced with xCustomListView), Http and HttpUtils2 (replaced with OkHttp and OkHttpUtils2). Click to expand... So will old projects using CustomListView not work? Upvote 0
Erel said: Deprecated libraries removed: CustomListView (replaced with xCustomListView), Http and HttpUtils2 (replaced with OkHttp and OkHttpUtils2). Click to expand... So will old projects using CustomListView not work?
Erel B4X founder Staff member Licensed User Longtime User Aug 31, 2020 #14 DonManfred said: Update: My Firewall was blocking the new SDK Manager :-( Now working... Click to expand... Note that you are using the old command line tools. Worth updating. Upvote 0
DonManfred said: Update: My Firewall was blocking the new SDK Manager :-( Now working... Click to expand... Note that you are using the old command line tools. Worth updating.
DonManfred Expert Licensed User Longtime User Aug 31, 2020 #15 Erel said: Note that you are using the old command line tools. Worth updating. Click to expand... yes i saw that too. need to update the path to the sdkmanager.bat; still pointing to the old sdk. Upvote 0
Erel said: Note that you are using the old command line tools. Worth updating. Click to expand... yes i saw that too. need to update the path to the sdkmanager.bat; still pointing to the old sdk.
R rboeck Well-Known Member Licensed User Longtime User Aug 31, 2020 #16 With this version is it the time to set : android:targetSdkVersion="30" or should we stay currently with v28? Upvote 0
With this version is it the time to set : android:targetSdkVersion="30" or should we stay currently with v28?
Erel B4X founder Staff member Licensed User Longtime User Aug 31, 2020 #17 Star-Dust said: So will old projects using CustomListView not work? Click to expand... Most (if not all) of the projects that used the old CLV, used the class module. If someone needs the old CustomListView library then I'll upload it. It can be added to the additional libs folder. rboeck said: With this version is it the time to set : android:targetSdkVersion="30" or should we stay currently with v28? Click to expand... The recommended version is based on Google policy. You should set it to 29. The next beta will show a warning if it is different than 29. Upvote 0
Star-Dust said: So will old projects using CustomListView not work? Click to expand... Most (if not all) of the projects that used the old CLV, used the class module. If someone needs the old CustomListView library then I'll upload it. It can be added to the additional libs folder. rboeck said: With this version is it the time to set : android:targetSdkVersion="30" or should we stay currently with v28? Click to expand... The recommended version is based on Google policy. You should set it to 29. The next beta will show a warning if it is different than 29.
hery71 Member Licensed User Aug 31, 2020 #20 Hi Where is the link to download the B4A 10.2 Beta? Upvote 0