Android Tutorial B4A-Bridge a new way to connect to your device

Status
Not open for further replies.
There are several options to develop with B4A:
- Android emulator or a VM.
- Connect to a real device in USB debugging mode
- Connect to a real device with B4A-Bridge.

I recommend starting with B4A-Bridge, which is the simplest connection method.

USB Debug Mode

You will need to first configure your device to support USB debugging (Settings - Developer - USB debugging).

In order to reveal the developer settings you should follow these instructions:
- Choose Settings - About Phone
- Find the Build Number entry and click on it 7 times.
- On many devices you need to set the USB connection type to MTP or PTP.

Not all devices support USB debugging.

B4A-Bridge

B4A-Bridge is made of two components. One component runs on the device and allows the second component which is part of the IDE to connect and communicate with the device.
The connection is done over the local network or with a Bluetooth connection.

Once connected, B4A-Bridge supports all of the IDE features which include: installing applications, viewing the logs, debugging and the visual designer (taking screenshots is not supported).

Android doesn't allow applications to quietly install other applications, therefore when you run your application using B4A-Bridge you will see a dialog asking you to approve the installation.

Getting started with B4A-Bridge
1. First you need to install B4A-Bridge on your device.
B4A-Bridge can be downloaded from Google Play: https://play.google.com/store/apps/details?id=anywheresoftware.b4a.b4abridge

Note that you need to allow installation of applications from "Unknown sources". This is done by choosing Settings from the Home screen - Manage Applications.


2. Run B4A-Bridge on your device. It will display a screen similar to:

arSsfzqjKtq2_v9Moofj4SgiWWet6WOFH-P1Z2NuxbMo4yB6yqsGaoioptbDdbMCZw4=h900



3. Connect the IDE to the device

Go to Tools -> B4A-Bridge -> Connection -> New IP

You will be asked to enter the device IP address. The IP is displayed on the device.

The status bar at the bottom of the screen shows the current status:

SS-2016-09-29_09.31.05.png


SS-2016-09-29_09.31.46.png


That's it.

When B4A-Bridge gets connected it first checks if the designer application needs to be updated. In that case it will first install the designer application.

B4A-Bridge keeps running as a service until you press on the Stop button.
You can always reach it by opening the notifications screen.


As mentioned above, when you run an application you are required to approve the installation. You will usually see the following screens:

SS-2012-03-21_10.50.48.png


Note that the Internet permission is automatically added in debug mode.

SS-2012-03-21_10.52.17.png


In the above dialog you should choose Open to start the application.
If you try to install an existing application signed with a different key, the install will fail (without any meaningful message). You should first uninstall the existing application. Go to the home screen - Settings - Applications - Manage applications - choose the application - Uninstall.

Once you finished developing you should press on the Stop button in order to save battery.

Logs

With B4A-Bridge the logs will only appear in release mode if you add this line to the main module:
B4X:
#BridgeLogger: True
It is better to comment this line before submitting your app to Google Play.


B4A-Bridge source code is available here: http://www.b4x.com/forum/basic4andr...ls/8153-b4a-bridge-source-code.html#post45854

Tip

You can click on the B4A-Bridge status in the IDE to connect or disconnect the bridge.
 

Attachments

  • upload_2016-9-29_9-29-57.png
    upload_2016-9-29_9-29-57.png
    14.3 KB · Views: 6,233
Last edited:

Rusty

Well-Known Member
Licensed User
Longtime User
I have an Asus with Jellybean 4.2.1 On this device, I can (with difficulty) get B4A (v2.06) to connect.
Every time I re-compile, I have to re-connect as the connection drops.

I also have an Asus with OS 4.0.3, the same version of B4A stays connected forever.

Is there a problem with the B4A application under Jellybean 4.2.1?
If so, how do I resolve this?
Thanks,
Rusty
 

Rusty

Well-Known Member
Licensed User
Longtime User
...that could be it.
I have 5 different WiFi addresses that are all available. However, only one is connected.
Any advice?
Rusty
 

Askjerry

Member
Licensed User
Longtime User
Add USB connection to Bridge??

I have a Dell laptop... no Bluetooth.

I bought a Bluetooth adapter and stuck it into the USB of the laptop... installed the drivers, was able to connect to the tablet for audio sharing... so I know the device works. When I go into Bridge and attempt to connect via Bluetooth it says that it Failed successfully.

A screen comes up... "An error occurred. No radio found." then when I close that screen it says, "Finding Bluetooth radio: Success"

I posted for help on this some time ago... nothing so far... probably a Bridge issue... anyway...

Many times I'm in a hotel with VERY CRAPPY internet connections... using Bridge is painful at best. Constant drop outs, slow speeds, etc.

Would it be possible to set Bridge up so that I can connect via USB?

That would solve the issue... plug in a USB cable, connect bridge... and plug away... no issues with connectivity.

Can you do that??? (It would be AWESOME!)

Thanks,
Jerry

Additional data on the Bluetooth thing... from the laptop I get these as available options on my Android tablet...
Network Service on rk30sdk (not connected... and it fails when I try)
OBEX Object Push on rk30sdk
Voice gateway on rk30sdk (not connected... and it fails when I try)

So Bluetooth is functioning... but Bridge can't see it for some reason.
 
Last edited:

b4AMarkO

Member
Licensed User
Longtime User
Installed update to 2.08

Since then I can no longer connect via Wireless

I can however connect via Blue Tooth

On the Bridge it is saying My Ip: Not connected to wireless network

Before my Ip came right up ...... not sure what to do but at least I have BT
 

b4AMarkO

Member
Licensed User
Longtime User
It is most probably not related to the new version. The new version only fixes a small issue in a completely different area.

Have you tried to reboot your device? Are you sure that it is connected to a wireless network?

Erel you are da Man ..... It was my Wireless Network ..... I rebooted it and all is well now

Thank you so very much
 

mterveen

Member
Licensed User
Longtime User
bluetooth log file

(using a nexus 10 w/ 32G storage and running the usbserial demo from agraham)

i am able to bridge using bluetooth to the tablet and successfully install and run the demo. however, the log file data/messages do not show up in the b4a ide log tab. it does show the initial installation of the apk but once the program runs on the tablet the "log("xxxxxx")" data is not reflected.

what do i need to modify to see the log data?
 

mterveen

Member
Licensed User
Longtime User
debug mode

i'll double check but i was sure the tablet IS in usb debug mode!? will the bluetooth bridge work the same way?

***oh - i'm guessing you are talking about the ide needs to be in debug mode?! when i look at my ide there is nothing selected in the dropdown box, it is just empty. so i assume if there is no selection it assumes a release mode?

****this was the first program i've tried since upgrading so it appears that the mode is not populated initially?! now that i've selected debug mode the box remains populated after a restart of the ide.
 

mterveen

Member
Licensed User
Longtime User
That was it. Just needed to turn on the debugging mode in the ide. Thanks erel.

Sent from my Nexus 10 using Tapatalk 2
 

Charlie

Member
Licensed User
Longtime User
Bridge crashes

I'm trying to connect wirelessly because I'm hoping to get USB serial adapter code running on this low end tablet running Android 4.0.4 and there is no BlueTooth adapter. As soon as I go into Tools >connect wireless, the tablet says connected, then instantly crashes. The report says the error is file not found (temp2.apk).

I'm pretty new to this, so I'm pretty much poking in the dark, however if I try to follow the path called out in the file not found message, none of the path exists after /mnt/Android/data which seems like a bad install. However, I've re-installed 3 times, I get no messages during install, but same crash, same missing path.

Thoughts?
 

Charlie

Member
Licensed User
Longtime User
My device has external storage. There's a portion of the internal 4G memory that mounts as an sdcard, and there's a 32 G actual SD card that mounts as extsd.

The internal "sdcard" directory has an "Android" directory which has a "data" sub-directory, but nothing gets created in there during B4A bridge install.

Sorry - I had a typo in my original post. it should have read /mnt/sdcard/Android/data
 
Last edited:
Status
Not open for further replies.
Top