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,062
Last edited:

Globalclown

Member
Licensed User
Longtime User
Copy to G-Drive instead of Bridge

Using the bridge needs starting the bridge on the client before!

Just copying the .apk-file to Google-Drive would allow to install the app on the client by simply clicking on it in the Google-Drive-App anytime separately
(of course needs non-market-apps enabled in settings of the client).

Can i modify a compile+install-script myself that way or must make a build-wish as a third tool besides avd and bridge (with foldername to copy to)?

btw: i'm new to b4a and it's best tool i found since sql+php+regex! thanks a lot! (softworker sine 1970 ;-)
 
Last edited:

nypaulie

Active Member
Licensed User
Longtime User
Until today I was happy to use B4A and an "iso" installation of Android-ICS, both via VirtualBox, but being able to hook up to my HP-Touchpad (running ICS) via a network connection is dynamite. Makes so much more sense, as I am trying to develop apps for this unit in particular. Got it running with your super instructions Erel in only a few minutes. Thanks a million!
[Added 9-29-12] I just successfully tested B4A Bridge using a rooted Nook Color (Android ICS) and a Nook Simple Touch (also rooted and using ICS). Flawless! Thanks again.
 
Last edited:

nypaulie

Active Member
Licensed User
Longtime User
Having to reboot to reuse B4A-Bridge

I've been having to reboot my device if I want to compile/run a second (or third, etc.) time. Say I do a compile/run and see that the result needs a tweak, after I make an adjustment to my app, when I try to run B4A bridge a second time, I get a time-out error even if I extend the time by a good amount. Rebooting the device (I am testing my project on) fixes this. Has anyone else had this problem?
 

nypaulie

Active Member
Licensed User
Longtime User
SOLVED: Having to reboot when rerunning B4A

Why don't you keep B4A-Bridge running? You do not need to restart it each time you deploy a program.
That's the answer. Thanks! I was closing B4A and then couldn't reconnect unless I rebooted. Keeping it open and connected is the way to go. Thanks again.
 

fsj

Member
Licensed User
Longtime User
Older Versions of B4A Bridge

Hello

I have a tablet with Ethernet and WiFI
the older version of B4A Bridge (I think 1.6 or something) shows the correct IP if WiFi was off

the new Version (2.7) only shows the WLAN IP

I havn't a backup of this old version, so I can't test it anymore

How can I get the IP of the LAN or will there be an new version wich shows both (LAN-IP and WLAN-IP)

I tried to use the source-code and modify it but it will not connect
 

Peter Simpson

Expert
Licensed User
Longtime User
Feedback - B4A-Bridge keeps disconnecting

Hello,
Ever since updating my B4A-Bridge to V2.07, It keeps disconnecting from my B4A V2.30.

It's a pain because once it disconnects, I've got to completely kill B4A-Bridge on my phone then restart it again, it's annoying. Just clicking start does not allow B4A to connect to it again.

If there's a disconnect timer built in to the B4A-Bridge, it's a pain and should be made optional with a check box.

This constant disconnecting is annoying and my WiFi is never ever turned off(power save is Off).

When B4A-Bridge used to be connected to B4A, it never disconnect like this.
 

melamoud

Active Member
Licensed User
Longtime User
But its not.
Maybe its too sensitive to wifi issues
Us there a way to control the retry params ?

This is one of the more annoying issues it gers disconnected every few min....

Thanks
 

mkvidyashankar

Active Member
Licensed User
Longtime User
Connectivity problem

The b4a bridge was working fine so far
now i am facing some connectivity issues

even though the device is connected to wifi the status is "Disconnected , waiting for wireless connection" i tried again by reinstalling the b4a bridge the same problem persists.

There is no change in settings in my wifi connection or device.

How to sort this? :sign0085:
 

rajughade2006

Member
Licensed User
Longtime User
Help with connection !

I have properly installed b4a bridge on my htc wildfire running gingerbread 2.3.7
cyanogen mod.
it connects fine with my IDE on the PC over wifi but whenever i compile and run the code,
and select my device(my htc in this case), my phone just takes me to the application manager interface and i cant see my app installed or running anywhere after that.
i have st my phone to allow writing on my sd card as well as installation of unknown apps is checked
I dont know if b4a designer should also run on my phone over the b4a bridge while im developing my app bt that doesnt happen either.
any help is appreciated.

Regards,
Raj

:sign0144:
 
Status
Not open for further replies.
Top