I'm happy to release B4A v9.0 BETA. Most of the steps in the compilation process were rewritten and compilation is now much faster. This update also includes many other important improvements.
Improvements:
Compilation performance (about 2 times faster for first compilation and up to 4 times faster on following compilations).
Bookmarks and breakpoints are listed in the modules tree:
Auto backup improvements:
Project is saved before backup, based on the auto save option.
Project name added to the backup file.
The project folder is configurable (AutoBackupFolder in the ini file).
Warning for unused parameters in private, non-event, subs.
#Event declarations appear in the autocomplete list.
Fix for a long standing issue that caused scope changes of global variables to not always be detected.
Workaround for Android issue (https://issuetracker.google.com/issues/113122354) that caused services to fail to start in some edge cases. This is based on the automatic foreground mode feature.
Copy to clipboard option in the permissions dialog.
Missing maven resources can be added to the internal or additional libraries folders.
com.google.auto.value-auto-value-annotations added as an internal library. This is a missing maven resource that required by Firebase libraries.
B4XCollections, B4XFormatter, B4XTable, XML2Map and XUI Views are internal libraries.
Foreground services permission is added automatically. Required when setting targetSdkVersion to 28.
CreateResourceFromFile(Macro, Core.NetworkClearText) - Required when setting targetSdkVersion to 28 when communicating with non-SSL servers.
Application.Icon works with adaptive icons.
FirebaseAdMob v1.53 - Fixes an issue related to targetSdkVersion 28.
Files are listed in the removal dialog.
OkHttpUtils2 v2.81 - Includes a call to Service.StopAutomaticForeground (related to the workaround discussed above).
Other bug fixes and minor improvements.
An email with upgrade instructions will be sent to developers who are eligible for free upgrades.
If I want to down grade back to 8.8, as I am not too sure if there is a error in my app or if it is the Beta 9.0 (most likely not), in relation to background services running, will this be an issue ?
If I want to down grade back to 8.8, as I am not too sure if there is a error in my app or if it is the Beta 9.0 (most likely not), in relation to background services running, will this be an issue ?
Many improvements were made in the compilation process:
- Most resources are being reused between compilations.
- AAR libraries, such as Google Play Services and Firebase libraries, are unpacked once. This makes the "organizing libraries" step very fast.
- Optimized dexer was optimized and it prepares more things in the background (when MultiDex = False).
1. It takes some time for the optimized dexer to precompile the libraries. So if you open the project and immediately compile, the performance gain will not be full.
2. You might get even better results if you increase MaxRamForDex. Set it to 4096 if there is enough RAM on your PC.
I have this error by compiling a source that with version 8.80 is compiled correctly.
B4X:
B4A Versione: 9.00 BETA #1
Analisi del Codice. (0.29s)
Building folders structure. (0.10s)
Compilazione del codice. (0.88s)
Compilazione del codice di layouts (0.06s)
Organizzazione Librerie. (0.00s)
Generazione file R. Error
ERROR: Unable to open class file gen\turnariovf\giordanif\Manifest.java: No such file or directory
I have reinstalled version 8.80 and the error does not appear ....
java is version jdk1.8.0_201 and Android is up to date
B4A Version: 9.00 BETA #3
Parsing code. (0.30s)
Building folders structure. (0.03s)
Compiling code. (4.37s)
Compiling layouts code. (1.67s)
Organizing libraries. (0.00s)
Generating R file. Error
ERROR: Unable to open class file gen\com\excellium\wsh\Manifest.java: No such file or directory
This is happening to multiple projects that work fine with 8.8 so I'm sure there's nothing wrong with my projects.
hello Erel, been able identify the issue yet? I'm unable to compile any of my projects now.
Even after reinstalling 8.8, I still get the same error with the projects (which wasn't there previously). Could the 9 beta have installed some configurations causing this?