Android Question Two versions of B4A

Alex_197

Well-Known Member
Licensed User
Longtime User
Hi all.

Is it possible to have two versions of B4A - 11.80 and 12.0?

I'm using Android 10 phone LGE LM-Q 720 phone.

My app (Default) works fine if it's compiled in 11.80 but behaves strangely after I compiled it 12.0. No crash, no errors.

For example - on Activity the user selects a line with a schedule and clicks on a button Clock-In. He will be asked if he wants to clock in to this schedule (Msgbox2Async). If he clicks Yes the GPS starts. After we get Lat/Long we check if he clocked in on time and if not - shows him a message that he is late for 45 minutes - again (Yes/No). If I compiled it in 11.80 and moved forward - asked a user to explain why he was late and finally save his replay.

Today I installed v.12.0, downloaded the new command line and resources, unzipped them into a new folder AndroidNew with 7Zip, installed B4A 12 over 11.80. So far so good, the app was compiled successfully (first time it took longer because all the libs were dexed) but when I reach the point where the user must answer the question (You're late for 45 minutes - do you want to clock in Yes/No?) I've noticed that this message is blinking by itself. Never seen it before. Only if I click 5 or 6 times on either Yes or No the message disappeared.

Can it be somehow related to the GPS? I'm using FusedLocationProvider. First question with Msgbox2Async was asked before I used GPS.

That's why I need 2 versions of B4A. I don't want to get stuck with 11.80 but at the same time I need to know why my app behaves strangely after I compiled it 12.0.

Thank you.
 
Last edited:

Sagenut

Expert
Licensed User
Longtime User
Simply install the two versions in two different folder, B4A1180 and B4A1200 for example.
 
Upvote 0

Alex_197

Well-Known Member
Licensed User
Longtime User
Simply install the two versions in two different folder, B4A1180 and B4A1200 for example.
Thank you, but what about the libraries? Both of them will be in the same folder. Ver 12.0 has new libs and updates for the old libs versions. I want to keep them separately.
 
Upvote 0

Sagenut

Expert
Licensed User
Longtime User
The internal libraries are part of the B4A Installation, so both versions will have their own.
Additional libraries will be in common but that should not be a problem.
 
Upvote 0

Alex_197

Well-Known Member
Licensed User
Longtime User
libs are under C:\Program Files\Anywhere Software\B4A\Libraries - what if they have the same filename?
 
Upvote 0

Sagenut

Expert
Licensed User
Longtime User
what if they have the same filename?
If the two installation are in different folder nothing can be overwritten.
If I understood correctly now you have only B4A 12 in the default folder (named B4A).
Just take care to install the old version 11.80 in a different folder when prompted.
Your actual B4A 12 version has libraries in
C:\Program Files\Anywhere Software\B4A\Libraries
Your B4A 11.80 version can be in
C:\Program Files\Anywhere Software\B4A1180\Libraries
So no overwrite.
 
Upvote 0

Alex_197

Well-Known Member
Licensed User
Longtime User
If the two installation are in different folder nothing can be overwritten.
If I understood correctly now you have only B4A 12 in the default folder (named B4A).
Just take care to install the old version 11.80 in a different folder when prompted.
Got it - thank you.
 
Upvote 0

Alex_197

Well-Known Member
Licensed User
Longtime User
If the two installation are in different folder nothing can be overwritten.
If I understood correctly now you have only B4A 12 in the default folder (named B4A).
Just take care to install the old version 11.80 in a different folder when prompted.
Your actual B4A 12 version has libraries in
C:\Program Files\Anywhere Software\B4A\Libraries
Your B4A 11.80 version can be in
C:\Program Files\Anywhere Software\B4A1180\Libraries
So no overwrite.
I instsalled 2 versions of B4A - 11.80 into B4A folder and ver. 12 into B4A12 folder

One more thing - ver. 11.80 and ver. 12 are using different path to the android.jar but if I enter a path to either versions it applies to both of them.

Let say for 11.80 it should be <android sdk>\platforms\android-30\android.jar but for ver. 12 it should be <android sdk>\platforms\android-33\android.jar

Thanks
 
Upvote 0

Sagenut

Expert
Licensed User
Longtime User
I instsalled 2 versions of B4A - 11.80 into B4A folder and ver. 12 into B4A12 folder

One more thing - ver. 11.80 and ver. 12 are using different path to the android.jar but if I enter a path to either versions it applies to both of them.

Let say for 11.80 it should be <android sdk>\platforms\android-30\android.jar but for ver. 12 it should be <android sdk>\platforms\android-33\android.jar

Thanks
Not sure about this.
Maybe it's managed by an item in the registry and you will need to change the path everytime.
But hopefully you will find your problem soon and you will go stable for B4A 12.
 
Upvote 0

agraham

Expert
Licensed User
Longtime User
B4X IDEs don't use the registry. Both versions will be using the configuration data stored in b4xV5.ini in
<User>/AppData/Roaming/Anywhere Software/Basic4android
I am afraid that you can't change this for individual installations. I seem to remember a wish to be able to change the SDK used with an IDE property that would solve this but I can't find it now and don't think Erel responded to it.
 
Last edited:
Upvote 0
Top