> For the complete documentation index, see [llms.txt](https://doc.sysdevmobile.com/kalipso/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.sysdevmobile.com/kalipso/documentation/test/android-usb.md).

# Android USB

Testing your project in an Android device has changed a lot in recent Kalipso Studio versions.

Now you can debug directly from your Android in your PC. And we add new options to optimize and test your project like Hot Reload and Call Stack.

## Test

<figure><img src="https://1614058754-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ5vDGuBZwhJDeu5Rq7Wt%2Fuploads%2Fgit-blob-04b818a8d9dd101163bc7f66256f202f96e282d9%2Ftest_remote_device_android_usb_1.png?alt=media" alt=""><figcaption></figcaption></figure>

After you connect your Android device his name will show up. Just click in your Android device name to test your project.

{% hint style="info" %}
If your Android device don't show up:

\- Enable Development mode

\- Inside Development mode menu enable USB Debugging
{% endhint %}

<figure><img src="https://1614058754-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ5vDGuBZwhJDeu5Rq7Wt%2Fuploads%2Fgit-blob-7c6bbef8b496caceaae63300518f5555036b2942%2Ftest_remote_device_android_usb_2.png?alt=media" alt=""><figcaption></figcaption></figure>

* **Erase Data on Simulator** - If you check this option, it means that before integrating your Project, Kalipso will clear it from the Simulator as if never existed, including data.
* **Update KClient** **On Device** - Checking this option, you'll be forcing the update of Kalipso framework on the Device.
* **Run Again** - allow to run the project again without saving or making a new deployment. Useful if there was any change to the project and it's faster to launch.
* **Activate Debugger** - allow to check all actions,

## Debug

If you activate Debugger you get a new window. With 3 new options:

**Output** - where you can trance all actions in your Android Device

**SQL** - where you can check and query all internal database

**Variables** - where you can check all Global and Local variables

<figure><img src="https://1614058754-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ5vDGuBZwhJDeu5Rq7Wt%2Fuploads%2Fgit-blob-5879a9c3fe6aaeb34e8bc23e2f2a504bf27f7db1%2Ftest_remote_device_android_usb_3.png?alt=media" alt=""><figcaption></figcaption></figure>

### Breakpoint

If you use the action Breakpoint in your code you will see a new window "Call Stack" with several options:

<figure><img src="https://1614058754-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ5vDGuBZwhJDeu5Rq7Wt%2Fuploads%2Fgit-blob-470eeab297e0f3e38550ea1284c1b5f3f42046d3%2Ftest_remote_device_android_usb_4.png?alt=media" alt=""><figcaption></figcaption></figure>

More details in [Call Stack](#call-stack)

### Hot Reload

<figure><img src="https://1614058754-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ5vDGuBZwhJDeu5Rq7Wt%2Fuploads%2Fgit-blob-0a40f64edbedfa964ceb0ac1bc1f0688701df37d%2Ftest_remote_device_android_usb_5.png?alt=media" alt=""><figcaption></figcaption></figure>

**Hot Reload** - Hot Reload will update the project, actions(code) and controls(UI) without the necessity to reboot the project. This way you don't need to navigate the project from the start again.

**Hot Reload UI -** Hot reload UI will update the project interface without leaving the form/plane where you are in. Useful if you want to test new UI changes.

### Call Stack

Call Stack is the window that show when you have a breakpoint.

<figure><img src="https://1614058754-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ5vDGuBZwhJDeu5Rq7Wt%2Fuploads%2Fgit-blob-6b44d61ac43fb042647101bed592c20593fec6e2%2Ftest_remote_device_android_usb_6.png?alt=media" alt=""><figcaption></figcaption></figure>

**From left to right:**

* **Continue** - Continue the project normally
* **Step Into** -
* **Step Over** -
* **Step Out** -
* **Stop** - Stop the project
* **Evaluate expression** - Check next image. This allow you to test an expression (String,Numeric/Condition) with values from Functions, Controls or Variables. This wil not change your code. Is just for evaluating.
* **Variables** - show Global and Local Variables

<figure><img src="https://1614058754-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ5vDGuBZwhJDeu5Rq7Wt%2Fuploads%2Fgit-blob-3a5612da68bcdaeadae35e2f015a167bae0fa0d7%2Ftest_remote_device_android_usb_7.png?alt=media" alt=""><figcaption></figcaption></figure>
