<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Yug Patel</title>
    <description>The latest articles on Forem by Yug Patel (@yugp).</description>
    <link>https://forem.com/yugp</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3817292%2Ffecfb928-6e37-4d0f-8402-ff43b1905262.png</url>
      <title>Forem: Yug Patel</title>
      <link>https://forem.com/yugp</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/yugp"/>
    <language>en</language>
    <item>
      <title>Sideloading and Traffic Inspection on Google TV Streamer: A QA Setup Guide</title>
      <dc:creator>Yug Patel</dc:creator>
      <pubDate>Tue, 10 Mar 2026 23:32:32 +0000</pubDate>
      <link>https://forem.com/yugp/sideloading-and-traffic-inspection-on-google-tv-streamer-a-qa-setup-guide-4bfe</link>
      <guid>https://forem.com/yugp/sideloading-and-traffic-inspection-on-google-tv-streamer-a-qa-setup-guide-4bfe</guid>
      <description>&lt;h2&gt;
  
  
  Motivation
&lt;/h2&gt;

&lt;p&gt;When testing streaming applications on Android-based TV devices, establishing a reliable workflow for APK deployment and network traffic inspection is essential. This guide covers the full configuration process for Google TV Streamer — from enabling developer access through to routing device traffic through Charles Proxy for API validation and debugging.&lt;/p&gt;




&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;p&gt;Before proceeding, ensure the following conditions are met:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Charles Proxy&lt;/strong&gt; is installed and activated with a valid license&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Charles SSL certificate&lt;/strong&gt; has been downloaded and trusted on your test machine. If this has not been completed, navigate to &lt;strong&gt;Help &amp;gt; SSL Proxying &amp;gt; Install Charles Root Certificate&lt;/strong&gt; in Charles and follow the prompts before continuing&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Google TV Streamer&lt;/strong&gt; has Developer Mode enabled (see Part 1 if not yet configured)&lt;/li&gt;
&lt;li&gt;The test machine running Charles and the Google TV Streamer are connected to the &lt;strong&gt;same local network&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Part 1: Enable Developer Options and ADB Debugging
&lt;/h2&gt;

&lt;p&gt;Developer Mode must be unlocked before any ADB-based workflows or proxy configurations can be established.&lt;/p&gt;

&lt;h3&gt;
  
  
  1.1 — Enable Developer Mode
&lt;/h3&gt;

&lt;p&gt;Navigate to &lt;strong&gt;Settings &amp;gt; System &amp;gt; About&lt;/strong&gt; and select &lt;strong&gt;"Android TV OS Build"&lt;/strong&gt; seven consecutive times. The device will confirm that Developer Options have been enabled.&lt;/p&gt;

&lt;p&gt;Return to &lt;strong&gt;Settings&lt;/strong&gt;, where a new &lt;strong&gt;Developer Options&lt;/strong&gt; entry will now be visible. Enter that menu and toggle on &lt;strong&gt;"Enable developer options"&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  1.2 — Enable ADB Debugging
&lt;/h3&gt;

&lt;p&gt;Within Developer Options, enable both &lt;strong&gt;USB Debugging&lt;/strong&gt; and &lt;strong&gt;Wireless Debugging&lt;/strong&gt;. Wireless Debugging is required to establish an ADB connection over the local network without a physical USB cable.&lt;/p&gt;




&lt;h2&gt;
  
  
  Part 2: ADB Connection and APK Installation
&lt;/h2&gt;

&lt;p&gt;With developer access configured, the device is ready to accept ADB connections and sideloaded application packages.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1: Obtain Required Tools
&lt;/h3&gt;

&lt;p&gt;Open the &lt;strong&gt;Wireless Debugging&lt;/strong&gt; menu on the device and record the displayed &lt;strong&gt;IP address and port&lt;/strong&gt; — this will be used to establish the ADB connection. It will appear in the format &lt;code&gt;192.168.x.x:XXXXX&lt;/code&gt; (e.g., &lt;code&gt;192.168.0.10:12345&lt;/code&gt;).&lt;/p&gt;

&lt;p&gt;Download the Android SDK Platform Tools for your operating system from the official Android developer site:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://developer.android.com/tools/releases/platform-tools" rel="noopener noreferrer"&gt;https://developer.android.com/tools/releases/platform-tools&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Under the &lt;strong&gt;Downloads&lt;/strong&gt; section, select the appropriate package for your OS. Extract the downloaded archive to a local directory of your choice. This extracted folder (typically named &lt;code&gt;platform-tools&lt;/code&gt;) will serve as your working directory for all ADB commands.&lt;/p&gt;

&lt;p&gt;Once extracted, place the target &lt;code&gt;.apk&lt;/code&gt; file directly into the &lt;strong&gt;root of the &lt;code&gt;platform-tools&lt;/code&gt; folder&lt;/strong&gt;. This ensures the &lt;code&gt;adb install&lt;/code&gt; command can reference the file without needing to specify a full file path.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: Connect via ADB and Install the APK
&lt;/h3&gt;

&lt;p&gt;Open a terminal session and navigate to the root of the &lt;code&gt;platform-tools&lt;/code&gt; directory. It is important that the terminal is opened at this exact location, as the ADB commands and APK file must be in the same directory.&lt;/p&gt;

&lt;p&gt;Run the following command, substituting the IP address and port recorded in Step 1:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;adb connect 192.168.0.10:12345
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If the device presents an authorization prompt on-screen, approve it before proceeding. Once the connection is confirmed in the terminal, install the application package by running:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;adb &lt;span class="nb"&gt;install &lt;/span&gt;app.apk
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Replace &lt;code&gt;app.apk&lt;/code&gt; with the exact filename of your APK. A success message will be displayed in the terminal upon completion. The application is now installed on the device and ready for testing.&lt;/p&gt;




&lt;h2&gt;
  
  
  Part 3: Charles Proxy Configuration
&lt;/h2&gt;

&lt;p&gt;To inspect network traffic originating from the Google TV Streamer, the device must be configured to route its traffic through Charles Proxy running on the test machine. Before proceeding, confirm that Charles is open and running, and that the Charles SSL certificate has been downloaded and trusted (see Prerequisites).&lt;/p&gt;

&lt;h3&gt;
  
  
  Configure the Device Proxy
&lt;/h3&gt;

&lt;p&gt;On the Google TV Streamer, navigate to &lt;strong&gt;Settings &amp;gt; Wi-Fi&lt;/strong&gt; and tap on the active Wi-Fi connection. Scroll down to &lt;strong&gt;Proxy Settings&lt;/strong&gt; and set the mode to &lt;strong&gt;Manual&lt;/strong&gt;. Enter the following values:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Hostname&lt;/td&gt;
&lt;td&gt;Local IP address of your test machine&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Proxy Port&lt;/td&gt;
&lt;td&gt;&lt;code&gt;8888&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Bypass Hosts&lt;/td&gt;
&lt;td&gt;Leave blank or retain defaults&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;To locate your machine's local IP address, open Charles and navigate to &lt;strong&gt;Help &amp;gt; Local IP Address&lt;/strong&gt;. It will typically appear in the format &lt;code&gt;192.168.x.x&lt;/code&gt;. Enter this value in the Hostname field on the device.&lt;/p&gt;

&lt;p&gt;Once saved, return to Charles — traffic from the Google TV Streamer should now begin appearing in the session.&lt;/p&gt;

&lt;h3&gt;
  
  
  Recommended: Disable OS Proxy in Charles
&lt;/h3&gt;

&lt;p&gt;By default, Charles may also capture traffic from the host machine itself. To isolate only the device traffic, navigate to &lt;strong&gt;Proxy&lt;/strong&gt; in the Charles menu bar and uncheck &lt;strong&gt;macOS Proxy&lt;/strong&gt; (or &lt;strong&gt;Windows Proxy&lt;/strong&gt;, as applicable).&lt;/p&gt;

&lt;p&gt;This step is recommended for any targeted testing session, as it removes noise from background processes on your computer and ensures the Charles session reflects only what the Google TV Streamer is sending and receiving. This is particularly useful when validating API calls, inspecting request and response payloads, or investigating network-layer defects.&lt;/p&gt;




&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;Following this setup, your test environment will support:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Wireless APK deployment&lt;/strong&gt; via ADB for rapid build installation across test cycles&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Full network traffic visibility&lt;/strong&gt; through Charles Proxy for API validation, payload inspection, and network-layer defect investigation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This configuration is well-suited for functional, integration, and regression testing workflows on Google TV Streamer and other Android-based streaming platforms.&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>android</category>
      <category>testing</category>
      <category>charlesproxy</category>
    </item>
  </channel>
</rss>
