<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Android ADB</title><link>https://sourceforge.net/p/oculix/wiki/Android%2520ADB/</link><description>Recent changes to Android ADB</description><atom:link href="https://sourceforge.net/p/oculix/wiki/Android%20ADB/feed" rel="self"/><language>en</language><lastBuildDate>Sun, 12 Apr 2026 00:55:54 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/oculix/wiki/Android%20ADB/feed" rel="self" type="application/rss+xml"/><item><title>Android ADB modified by Julien Mer</title><link>https://sourceforge.net/p/oculix/wiki/Android%2520ADB/</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="h-android-adb"&gt;Android ADB&lt;/h1&gt;
&lt;p&gt;&lt;img alt="Enhanced" rel="nofollow" src="https://img.shields.io/badge/type-enhanced-blue?style=for-the-badge"/&gt;&lt;br/&gt;
&lt;img alt="Android 12+" rel="nofollow" src="https://img.shields.io/badge/Android-12+-green?style=for-the-badge&amp;amp;logo=android"/&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Android support existed in SikuliX1 as experimental. OculiX made it production-ready with Android 12+ fixes, WiFi ADB pairing, and vendored JADB.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr/&gt;
&lt;h2 id="h-what-was-in-sikulix1"&gt;What was in SikuliX1&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Basic ADB classes (experimental)&lt;/li&gt;
&lt;li&gt;Relied on external &lt;code&gt;adb&lt;/code&gt; binary&lt;/li&gt;
&lt;li&gt;Broken on Android 12+ (display dimension parsing, screencap buffer)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h-what-oculix-changed"&gt;What OculiX changed&lt;/h2&gt;
&lt;h3 id="h-android-12-compatibility-commit-0ba1dd0"&gt;Android 12+ Compatibility (commit &lt;code&gt;0ba1dd0&lt;/code&gt;)&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Problem&lt;/th&gt;
&lt;th&gt;Fix&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;wm size&lt;/code&gt; output format changed in Android 12&lt;/td&gt;
&lt;td&gt;Updated display dimension parser&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;screencap&lt;/code&gt; raw buffer format changed&lt;/td&gt;
&lt;td&gt;Fixed buffer reading and color format&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OpenCV not loaded for ADB operations&lt;/td&gt;
&lt;td&gt;Added &lt;code&gt;Commons.loadOpenCV()&lt;/code&gt; at ADB init&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="h-new-features"&gt;New Features&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;isDeviceConnected()&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Device detection via &lt;code&gt;adb shell getprop&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;WiFi ADB pairing&lt;/td&gt;
&lt;td&gt;Support for wireless debugging (Android 12+)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Better error handling&lt;/td&gt;
&lt;td&gt;Detailed debug output for connection failures&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SSH tunnel integration&lt;/td&gt;
&lt;td&gt;ADB over SSH via &lt;code&gt;SSHTunnel&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="h-vendored-jadb"&gt;Vendored JADB&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;se.vidstige.jadb.*&lt;/code&gt; package (30+ files) is embedded — no need for external &lt;code&gt;adb&lt;/code&gt; binary:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;AdbServer&lt;/code&gt;, &lt;code&gt;AdbConnection&lt;/code&gt;, &lt;code&gt;AdbDevice&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Sync protocol for file push/pull&lt;/li&gt;
&lt;li&gt;Port forwarding&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-architecture"&gt;Architecture&lt;/h3&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;ADBScreen       → Screen abstraction (capture, bounds)
  └── ADBRobot  → Touch/swipe/keyboard via ADB
  └── ADBDevice → Device management, screencap
  └── ADBClient → ADB protocol (via JADB)
        └── SSHTunnel (optional) → Remote ADB over SSH
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h3 id="h-validated-configurations"&gt;Validated Configurations&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Samsung devices, 1080x2400, Android 12+&lt;/li&gt;
&lt;li&gt;WiFi ADB pairing&lt;/li&gt;
&lt;li&gt;ADB over SSH tunnel to remote servers&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Julien Mer</dc:creator><pubDate>Sun, 12 Apr 2026 00:55:54 -0000</pubDate><guid>https://sourceforge.netdf3aa5e4c09753ee48baea177b0a26c12546aaea</guid></item></channel></rss>