1. Download the free trial version

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

Discussion in 'Tutorials & Examples' started by Erel, Feb 24, 2011.

  1. Erel

    Erel Administrator Staff Member Licensed User

    There are several options to develop with Basic4android:
    - Android emulator
    - Connect to a real device in USB debugging mode
    - Connect to a real device with B4A-Bridge. As of v1.9 B4A-Bridge supports wireless connections over the local network or Bluetooth connections.

    The Android emulator is very slow compared to a real device (especially with applications installation). I recommend you to only use the emulator for working with the visual designer or for specific tests.

    Usually the best option is to use USB debugging. You will need to first configure your device to support USB debugging (Settings - Development - USB debugging).
    You will also need to install a windows driver specific to your device: OEM USB Drivers | Android Developers
    Starting from Android 4.2 the Development menu is hidden. In order to reveal it you should follow these instructions:
    - Choose Settings - About Phone
    - Find the Build Number entry and click on it 7 times (no kidding)
    Another change is that there is a confirmation dialog that you must approve before the computer can connect to the device.


    Unfortunately not all devices support USB debugging. In that case you should use B4A-Bridge instead.

    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 here: http://www.basic4ppc.com/android/files/b4a_bridge.apk. Some browsers may treat this file as a zip file. In that case you should restore its apk extension.

    B4A-Bridge is also available in Google Play and Amazon Market. Search for: B4A Bridge.
    Note that you need to allow installation of applications from "Unknown sources". This is done by choosing Settings from the Home screen - Manage Applications.

    B4A-Bridge requires writable storage card. It is not possible to install applications without it.

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

    [​IMG]

    You should now choose either Start - Wireless or Start - Bluetooth depending on the working mode.
    The Make Discoverable checkbox will make your device Bluetooth discoverable for 5 minutes. This is only needed if the device and computer weren't paired before.

    3. Connect the IDE to the device

    Go to Tools - B4A-Bridge and choose Connect Wireless or Connect Bluetooth.

    Wireless connections
    You will be asked to enter the device IP address. The IP is displayed on the device. In some cases the address displayed may be the mobile network address. In that case you can find the local wireless address in the wireless advanced settings page.

    Bluetooth connections

    [​IMG]

    In Bluetooth mode you should first click on Find Devices. All paired devices and new devices in discoverable mode will be listed.
    You should choose the correct one and press on Connect.

    Assuming that the connection succeeded the dialog will be closed.

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

    [​IMG]
    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:

    [​IMG]

    Pressing on the notification will open the main screen.

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

    [​IMG]

    Note that the Bluetooth permission and Internet permission are automatically added in debug mode.

    [​IMG]

    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

    On Android 4.1+ devices the logs will only appear in debug mode. This is related to a new security feature of Android: B4A-Bridge and Android 4.1+ logs


    Note that B4A-Bridge was written with Basic4android.
    The source code is available here: http://www.basic4ppc.com/forum/basi...ls/8153-b4a-bridge-source-code.html#post45854
    Last edited: Mar 19, 2014
  2. Cableguy

    Cableguy Expert Licensed User

    Am I correct to assume that this will be using gprs data conection in the IDE to Device conection? If so, tis means that this conection will have a cost, according to your carrier Charging fees...
    I remember reading somewere about a way to connect using Bluetoorh, is this possible with this app?
  3. Erel

    Erel Administrator Staff Member Licensed User

    No. B4A-Bridge should be used when you have a wireless network available (both the device and the computer should be connected to the same router).
  4. Cableguy

    Cableguy Expert Licensed User

    Nice...Would it also be possible to "bridge" multiple devices simultaneasly, with the log, or choose wich one to log from? For those who have 2 or 3 devices, this would mean realtime multi-Screen format debugging...
  5. Erel

    Erel Administrator Staff Member Licensed User

    You can only "bridge" to a single device. However you can have multiple connections with 'adb'. So you can work with one device for running the code (with B4A-Bridge) and also be connected to the emulator with the designer.
  6. Cableguy

    Cableguy Expert Licensed User

    Ok, so can you please add-it to the Bridge wish list?
  7. Cableguy

    Cableguy Expert Licensed User

    B4A 1.3 and B4A Bridge First impressions...

    Speed! I could almost say that this is much Faster than the previous version...very much faster...
    The Bridge works very smothly, and the connection is easy to stablish..
    I have one wixh for the Bridge, On the device side...That is to KeepALive the screen when connected...Or give the user that option..
    Everything else is perfect..

    Thanks EREL
    Last edited: Feb 27, 2011
  8. Erel

    Erel Administrator Staff Member Licensed User

    Thank you Cableguy.
  9. asawyer13

    asawyer13 Member Licensed User

    Has V1.3 and the bridge been released?

    I didn't see any emails, so just wondering.

    Alan
  10. alfcen

    alfcen Well-Known Member Licensed User

    B4A Bridge

    Installed and tested. Works like a charm with a Sharp IS03 phone over my home WiFi. No extra wishes, invaluable IDE enhancement that embraces phones with poor or no ADB performance! Looking forward to what else is new in V 1.3.

    :sign0098:
  11. Erel

    Erel Administrator Staff Member Licensed User

    V1.3 will be released tomorrow.
  12. slydog43

    slydog43 Member Licensed User

    nice, cant wait.
  13. TOB

    TOB Member Licensed User

    Same here :icon_clap: :)
  14. metrick

    metrick Active Member Licensed User

    Speed increase, load faster.
  15. GabrielM

    GabrielM Member Licensed User

    just superb on Spica/Froyo :)

    Thank you Erel
  16. mistermentality

    mistermentality Active Member Licensed User

    The Bridge works flawlessly on my GT540, and quickly too. Thanks :)

    Dave
  17. susu

    susu Well-Known Member Licensed User

    Oh, B4A Bridge doesn't work! I installed B4A Bridge from Market. I run it and it show my IP is 192.168.16.20. I select Tools/B4A Bridge/Connect menu in IDE and enter this IP but it still disconnected.

    Ps: My device is Android 2.1 and it run the same function app name WiFi File Explorer very well.
  18. Erel

    Erel Administrator Staff Member Licensed User

    Does the device application show any message?
    It should display: "waiting for connections"
  19. susu

    susu Well-Known Member Licensed User

    On my device:

    My IP: 192.168.16.20
    Status: Disconnected.
    Waiting For connections.

    [BUTTON START]
    [BUTTON STOP]

    B4A-Bridge v1.00
  20. Erel

    Erel Administrator Staff Member Licensed User

    Are you able to connect with ADB to this device? Maybe there will be more information in the logs.
    Another possible issue may be related to the network / firewall which doesn't allow you to make an outgoing connection from the desktop.

    You can start the IDE from the command line and add -log parameter:
    Code:
    Basic4android -log
    It will write log messages to C:\Temp\log.txt. Try to connect B4A-Bridge and then check if there are any errors in the log.

Share This Page

Loading...