{"id":19362717,"url":"https://github.com/smartdevicelink/rpc_builder_app_android","last_synced_at":"2026-03-15T08:42:41.815Z","repository":{"id":146486355,"uuid":"79488422","full_name":"smartdevicelink/rpc_builder_app_android","owner":"smartdevicelink","description":"RPC builder for Android","archived":false,"fork":false,"pushed_at":"2020-05-12T15:30:47.000Z","size":46154,"stargazers_count":4,"open_issues_count":0,"forks_count":3,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-04-23T12:52:32.588Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/smartdevicelink.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-01-19T19:42:28.000Z","updated_at":"2024-09-30T06:05:38.000Z","dependencies_parsed_at":null,"dependency_job_id":"0d8d38b9-9feb-4aa7-bf56-44d52a19d867","html_url":"https://github.com/smartdevicelink/rpc_builder_app_android","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/smartdevicelink/rpc_builder_app_android","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smartdevicelink%2Frpc_builder_app_android","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smartdevicelink%2Frpc_builder_app_android/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smartdevicelink%2Frpc_builder_app_android/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smartdevicelink%2Frpc_builder_app_android/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/smartdevicelink","download_url":"https://codeload.github.com/smartdevicelink/rpc_builder_app_android/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smartdevicelink%2Frpc_builder_app_android/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30539322,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-15T07:17:37.589Z","status":"ssl_error","status_checked_at":"2026-03-15T07:17:31.738Z","response_time":61,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-10T07:30:02.546Z","updated_at":"2026-03-15T08:42:41.810Z","avatar_url":"https://github.com/smartdevicelink.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RPC Builder\n\n## Introduction\nThe SmartDeviceLink RPC Builder is designed to allow free testing of the SDL Interface during development. It will allow sending all Remote Procedure Calls (RPCs) to SDL Core. The user has to ensure the right sequence of commands to be send. (E.g. a performInteraction cannot be successful if the user did not send a createInteractionChoiceSet before. Please familiarize yourself with the SDL App Developer documentation.)\n\n## Getting Started\nIn order to begin using RPC Builder, download the latest release and install the apk on your connected Android device:\n```\nadb install RPCBuilder.apk\n```\n\n## Interface\n\n### Settings Page\n\u003cimg src=ReadmeFiles/Settings.png width=200 /\u003e\n\nThe settings page allows the user to select the currently used RPC spec file, and the transport layer.\n\nBy default, there are two Mobile_API.xml files used to generate the RPC interfaces usable by the app. Please be sure to select one of these files to proceed.\n\nFor the transport layer the current options included BT (Bluetooth) or TCP/IP. If TCP/IP is selected the user has to input the SDL Server IP Address and Port. If using BT, you can disregard these two fields.\n\n\u003cimg src=ReadmeFiles/RAI.png width=200 /\u003e\n\nOnce proceeding, you will be presented with a Register App Interface (RAI) RPC screen. This is required so that when the application first connects we can immediately register the application. These properties can be modified and will be cached for subsequent launches.\n\n\u003cimg src=ReadmeFiles/Connecting.png width=200 /\u003e\n\n__Please note that once \"Send\" is pressed, the application will not continue until a successful connection and RAI response is received.__\n\n### Main RPC Table\n\n\u003cimg src=ReadmeFiles/Requests.png width=200 /\u003e\n\nThe Main RPC Table is create at runtime by the App. The source for all possible RPC requests is the selected Spec XML from the settings.\n\nIf the Spec provides additional information, an information button next to the RPC Name is visible.\n\n\u003cimg src=ReadmeFiles/RequestInfo.png width=200 /\u003e\n\n### RPC Commands\n\n\u003cimg src=ReadmeFiles/Requests.png width=200 /\u003e\n\nWhen selecting an RPC command the App will show a view with all possible parameters for this RPC command. If a parameter is a struct or array, it will allow you fill this information in a separate view. A struct or array is indicated by an \"UPDATE\" button.\n\nThere are three different ways to send an argument of an RPC.\n\n* Send with data\n * To send an argument with data just add the information next to the arguments name.\n* Send without data\n * To send an argument with an empty string, leave the field next to the argument name empty\n* Don't send the argument\n * To disable the argument from being included in the RPC touch the arguments name. The argument will be grayed out and not included in the request. (See example below)\n\n\u003cimg src=ReadmeFiles/EnableDisable.png width=200 /\u003e\n\nAlert Text2 and Alert Text3 will not be included in the RPC Request, but Alert Text1 will be included with a \"hello\" string.\nRequired data will have asterisks next to the argument name.\n\n### Logging\n\nYou can reach the logging screen by pressing the rightmost button at the top of the RPC Requests screen.\n\n\u003cimg src=ReadmeFiles/Logging.png width=200 /\u003e\n\nThis log will print all of the outgoing requests to core and most of the incoming responses from core. To clear the log, press the trash button in the upper right.\n\n### A Special Note about Putfile\nPutfile is the RPC responsible for sending binary data from our mobile libraries to core. This application provides support for adding any type of file. Similar to adding custom RPC Spec files, any file located within the `BulkData` directory will be present in Local Storage and be usable for upload.\n\n## Need Help?\nIf you need general assistance, or have other questions, you can [sign up](http://slack.smartdevicelink.org/) for the [SDL Slack](https://smartdevicelink.slack.com/) and chat with other developers and the maintainers of the project.\n\n## Contributors\n#### Austin Kirk - [Github](https://github.com/askirk)\nLead Developer\n\n#### Alex Muller - [Github](https://github.com/asm09fsu)\nDeveloper of iOS RPC Builder\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmartdevicelink%2Frpc_builder_app_android","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsmartdevicelink%2Frpc_builder_app_android","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmartdevicelink%2Frpc_builder_app_android/lists"}