{"id":888,"date":"2026-02-17T16:45:50","date_gmt":"2026-02-17T13:45:50","guid":{"rendered":"https:\/\/barisuslucan.com\/en\/?p=888"},"modified":"2026-02-17T16:46:00","modified_gmt":"2026-02-17T13:46:00","slug":"stop-clicking-around-the-adb-commands-that-save-me-hours","status":"publish","type":"post","link":"https:\/\/barisuslucan.com\/en\/software\/stop-clicking-around-the-adb-commands-that-save-me-hours\/","title":{"rendered":"Stop Clicking Around: The ADB Commands That Save Me Hours"},"content":{"rendered":"\n<p>When you ship Android apps, you quickly learn that some tasks are either painful (too many taps) or inconsistent to reproduce from UI. ADB makes these workflows deterministic and fast\u2014especially when you\u2019re debugging, doing QA, or validating regressions.<\/p>\n\n\n\n<p>Below is my \u201cdaily driver\u201d ADB cheat sheet: commands I use constantly during development and troubleshooting.<\/p>\n\n\n<h2 class=\"wp-block-heading\"><strong><em>Prerequisites<\/em> (If you use real device)<\/strong><\/h2>\n<p><strong><!-- \/wp:post-content --> <!-- wp:paragraph --><\/strong><\/p>\n<ul>\n<li>Enable Developer options on the device<\/li>\n<li>Enable USB debugging<\/li>\n<li>Verify connection:<\/li>\n<\/ul>\n\n<!-- wp:kevinbatdorf\/code-block-pro {\"code\":\"adb devices -l\",\"codeHTML\":\"\\u003cpre class=\\u0022shiki nord\\u0022 style=\\u0022background-color: #2e3440ff\\u0022 tabindex=\\u00220\\u0022\\u003e\\u003ccode\\u003e\\u003cspan class=\\u0022line\\u0022\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eadb\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003edevices\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #81A1C1\\u0022\\u003e-\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003el\\u003c\/span\\u003e\\u003c\/span\\u003e\\u003c\/code\\u003e\\u003c\/pre\\u003e\",\"language\":\"javascript\",\"theme\":\"nord\",\"bgColor\":\"#2e3440ff\",\"textColor\":\"#d8dee9ff\",\"fontSize\":\".875rem\",\"fontFamily\":\"Code-Pro-JetBrains-Mono\",\"lineHeight\":\"1.25rem\",\"clampFonts\":false,\"lineNumbers\":false,\"headerType\":\"headlights\",\"disablePadding\":false,\"footerType\":\"none\",\"enableMaxHeight\":false,\"seeMoreType\":\"\",\"seeMoreString\":\"\",\"seeMoreAfterLine\":\"\",\"seeMoreTransition\":false,\"highlightingHover\":false,\"lineHighlightColor\":\"rgba(201, 218, 248, 0.2)\",\"copyButton\":true,\"copyButtonType\":\"heroicons\",\"useTabs\":false} -->\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"adb devices -l\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D8DEE9\">adb<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">devices<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">l<\/span><\/span><\/code><\/pre><\/div>\n<!-- \/wp:kevinbatdorf\/code-block-pro -->\n\n<p>If you see your device listed, you\u2019re good.<\/p>\n\n<h2 data-start=\"950\" data-end=\"985\"><strong>1) Reset app state (clean repro)<\/strong><\/h2>\n<p>The fastest way to reproduce issues from a truly clean state.<\/p>\n\n<!-- wp:kevinbatdorf\/code-block-pro {\"code\":\"adb shell pm clear com.example.app\\nadb shell am force-stop com.example.app\",\"codeHTML\":\"\\u003cpre class=\\u0022shiki nord\\u0022 style=\\u0022background-color: #2e3440ff\\u0022 tabindex=\\u00220\\u0022\\u003e\\u003ccode\\u003e\\u003cspan class=\\u0022line\\u0022\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eadb\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eshell\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003epm\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eclear\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003ecom\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #ECEFF4\\u0022\\u003e.\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eexample\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #ECEFF4\\u0022\\u003e.\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eapp\\u003c\/span\\u003e\\u003c\/span\\u003e\\n\\u003cspan class=\\u0022line\\u0022\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eadb\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eshell\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eam\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eforce\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #81A1C1\\u0022\\u003e-\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003estop\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003ecom\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #ECEFF4\\u0022\\u003e.\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eexample\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #ECEFF4\\u0022\\u003e.\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eapp\\u003c\/span\\u003e\\u003c\/span\\u003e\\u003c\/code\\u003e\\u003c\/pre\\u003e\",\"language\":\"javascript\",\"theme\":\"nord\",\"bgColor\":\"#2e3440ff\",\"textColor\":\"#d8dee9ff\",\"fontSize\":\".875rem\",\"fontFamily\":\"Code-Pro-JetBrains-Mono\",\"lineHeight\":\"1.25rem\",\"clampFonts\":false,\"lineNumbers\":false,\"headerType\":\"headlights\",\"disablePadding\":false,\"footerType\":\"none\",\"enableMaxHeight\":false,\"seeMoreType\":\"\",\"seeMoreString\":\"\",\"seeMoreAfterLine\":\"\",\"seeMoreTransition\":false,\"highlightingHover\":false,\"lineHighlightColor\":\"rgba(201, 218, 248, 0.2)\",\"copyButton\":true,\"copyButtonType\":\"heroicons\",\"useTabs\":false} -->\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"adb shell pm clear com.example.app\nadb shell am force-stop com.example.app\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D8DEE9\">adb<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">shell<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">pm<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">clear<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">com<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9\">example<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9\">app<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">adb<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">shell<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">am<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">force<\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">stop<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">com<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9\">example<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9\">app<\/span><\/span><\/code><\/pre><\/div>\n<!-- \/wp:kevinbatdorf\/code-block-pro -->\n\n<ul>\n<li data-start=\"1139\" data-end=\"1174\"><code data-start=\"1139\" data-end=\"1149\">pm clear<\/code> wipes app data and cache<\/li>\n<li data-start=\"1139\" data-end=\"1174\"><code style=\"color: #dae1ed; font-size: 16px; background-color: #001016;\" data-start=\"1177\" data-end=\"1192\">am force-stop<\/code> kills the app process and prevents immediate background restart<\/li>\n<\/ul>\n\n<h2 data-start=\"1263\" data-end=\"1305\"><strong>2) Install \/ reinstall (fast iteration)<\/strong><\/h2>\n<p>Useful when you\u2019re testing local builds repeatedly.<\/p>\n\n<!-- wp:kevinbatdorf\/code-block-pro {\"code\":\"adb install app.apk\\nadb install -r app.apk\\nadb install -r -d app.apk\\nadb install -g app.apk \",\"codeHTML\":\"\\u003cpre class=\\u0022shiki nord\\u0022 style=\\u0022background-color: #2e3440ff\\u0022 tabindex=\\u00220\\u0022\\u003e\\u003ccode\\u003e\\u003cspan class=\\u0022line\\u0022\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eadb\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003einstall\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eapp\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #ECEFF4\\u0022\\u003e.\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eapk\\u003c\/span\\u003e\\u003c\/span\\u003e\\n\\u003cspan class=\\u0022line\\u0022\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eadb\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003einstall\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #81A1C1\\u0022\\u003e-\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003er\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eapp\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #ECEFF4\\u0022\\u003e.\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eapk\\u003c\/span\\u003e\\u003c\/span\\u003e\\n\\u003cspan class=\\u0022line\\u0022\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eadb\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003einstall\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #81A1C1\\u0022\\u003e-\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003er\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #81A1C1\\u0022\\u003e-\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003ed\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eapp\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #ECEFF4\\u0022\\u003e.\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eapk\\u003c\/span\\u003e\\u003c\/span\\u003e\\n\\u003cspan class=\\u0022line\\u0022\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eadb\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003einstall\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #81A1C1\\u0022\\u003e-\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eg\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eapp\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #ECEFF4\\u0022\\u003e.\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eapk\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003c\/span\\u003e\\u003c\/code\\u003e\\u003c\/pre\\u003e\",\"language\":\"javascript\",\"theme\":\"nord\",\"bgColor\":\"#2e3440ff\",\"textColor\":\"#d8dee9ff\",\"fontSize\":\".875rem\",\"fontFamily\":\"Code-Pro-JetBrains-Mono\",\"lineHeight\":\"1.25rem\",\"clampFonts\":false,\"lineNumbers\":false,\"headerType\":\"headlights\",\"disablePadding\":false,\"footerType\":\"none\",\"enableMaxHeight\":false,\"seeMoreType\":\"\",\"seeMoreString\":\"\",\"seeMoreAfterLine\":\"\",\"seeMoreTransition\":false,\"highlightingHover\":false,\"lineHighlightColor\":\"rgba(201, 218, 248, 0.2)\",\"copyButton\":true,\"copyButtonType\":\"heroicons\",\"useTabs\":false} -->\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"adb install app.apk\nadb install -r app.apk\nadb install -r -d app.apk\nadb install -g app.apk \" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D8DEE9\">adb<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">install<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">app<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9\">apk<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">adb<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">install<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">r<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">app<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9\">apk<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">adb<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">install<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">r<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">d<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">app<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9\">apk<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">adb<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">install<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">g<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">app<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9\">apk<\/span><span style=\"color: #D8DEE9FF\"> <\/span><\/span><\/code><\/pre><\/div>\n<!-- \/wp:kevinbatdorf\/code-block-pro -->\n\n<ul>\n<li data-start=\"1519\" data-end=\"1601\"><code data-start=\"1519\" data-end=\"1523\">-r<\/code> reinstall while keeping app data (not always guaranteed across all scenarios)<\/li>\n<li data-start=\"1604\" data-end=\"1632\"><code data-start=\"1604\" data-end=\"1608\">-d<\/code> allow version downgrade<\/li>\n<li data-start=\"1635\" data-end=\"1712\"><code data-start=\"1635\" data-end=\"1639\">-g<\/code> grants runtime permissions at install time on supported Android versions<\/li>\n<\/ul>\n\n<h2><strong>3) Deep link &amp; intent testing (no manual tapping)<\/strong><\/h2>\n<p data-start=\"1772\" data-end=\"1841\">Perfect for verifying navigation, attribution, onboarding links, etc.<\/p>\n\n<!-- wp:kevinbatdorf\/code-block-pro {\"code\":\"adb shell am start -a android.intent.action.VIEW -d \\u0022myapp:\/\/product\/123\\u0022\",\"codeHTML\":\"\\u003cpre class=\\u0022shiki nord\\u0022 style=\\u0022background-color: #2e3440ff\\u0022 tabindex=\\u00220\\u0022\\u003e\\u003ccode\\u003e\\u003cspan class=\\u0022line\\u0022\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eadb\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eshell\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eam\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003estart\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #81A1C1\\u0022\\u003e-\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003ea\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eandroid\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #ECEFF4\\u0022\\u003e.\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eintent\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #ECEFF4\\u0022\\u003e.\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eaction\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #ECEFF4\\u0022\\u003e.\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eVIEW\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #81A1C1\\u0022\\u003e-\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003ed\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #ECEFF4\\u0022\\u003e\\u0026quot;\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #A3BE8C\\u0022\\u003emyapp:\/\/product\/123\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #ECEFF4\\u0022\\u003e\\u0026quot;\\u003c\/span\\u003e\\u003c\/span\\u003e\\u003c\/code\\u003e\\u003c\/pre\\u003e\",\"language\":\"javascript\",\"theme\":\"nord\",\"bgColor\":\"#2e3440ff\",\"textColor\":\"#d8dee9ff\",\"fontSize\":\".875rem\",\"fontFamily\":\"Code-Pro-JetBrains-Mono\",\"lineHeight\":\"1.25rem\",\"clampFonts\":false,\"lineNumbers\":false,\"headerType\":\"headlights\",\"disablePadding\":false,\"footerType\":\"none\",\"enableMaxHeight\":false,\"seeMoreType\":\"\",\"seeMoreString\":\"\",\"seeMoreAfterLine\":\"\",\"seeMoreTransition\":false,\"highlightingHover\":false,\"lineHighlightColor\":\"rgba(201, 218, 248, 0.2)\",\"copyButton\":true,\"copyButtonType\":\"heroicons\",\"useTabs\":false} -->\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"adb shell am start -a android.intent.action.VIEW -d &quot;myapp:\/\/product\/123&quot;\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D8DEE9\">adb<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">shell<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">am<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">start<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">a<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">android<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9\">intent<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9\">action<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9\">VIEW<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">d<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">myapp:\/\/product\/123<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><\/span><\/code><\/pre><\/div>\n<!-- \/wp:kevinbatdorf\/code-block-pro -->\n\n<p data-start=\"1930\" data-end=\"1968\">Start a specific Activity with extras:<\/p>\n\n<!-- wp:kevinbatdorf\/code-block-pro {\"code\":\"adb shell am start -n com.example.app\/.MainActivity \\u002d\\u002des \\u0022source\\u0022 \\u0022adb\\u0022 \\u002d\\u002dei \\u0022id\\u0022 123\",\"codeHTML\":\"\\u003cpre class=\\u0022shiki nord\\u0022 style=\\u0022background-color: #2e3440ff\\u0022 tabindex=\\u00220\\u0022\\u003e\\u003ccode\\u003e\\u003cspan class=\\u0022line\\u0022\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eadb\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eshell\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eam\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003estart\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #81A1C1\\u0022\\u003e-\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003en\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003ecom\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #ECEFF4\\u0022\\u003e.\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eexample\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #ECEFF4\\u0022\\u003e.\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eapp\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #81A1C1\\u0022\\u003e\/\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #ECEFF4\\u0022\\u003e.\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eMainActivity\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #81A1C1\\u0022\\u003e\\u002d\\u002d\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003ees\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #ECEFF4\\u0022\\u003e\\u0026quot;\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #A3BE8C\\u0022\\u003esource\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #ECEFF4\\u0022\\u003e\\u0026quot;\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #ECEFF4\\u0022\\u003e\\u0026quot;\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #A3BE8C\\u0022\\u003eadb\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #ECEFF4\\u0022\\u003e\\u0026quot;\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #81A1C1\\u0022\\u003e\\u002d\\u002d\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eei\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #ECEFF4\\u0022\\u003e\\u0026quot;\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #A3BE8C\\u0022\\u003eid\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #ECEFF4\\u0022\\u003e\\u0026quot;\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #B48EAD\\u0022\\u003e123\\u003c\/span\\u003e\\u003c\/span\\u003e\\u003c\/code\\u003e\\u003c\/pre\\u003e\",\"language\":\"javascript\",\"theme\":\"nord\",\"bgColor\":\"#2e3440ff\",\"textColor\":\"#d8dee9ff\",\"fontSize\":\".875rem\",\"fontFamily\":\"Code-Pro-JetBrains-Mono\",\"lineHeight\":\"1.25rem\",\"clampFonts\":false,\"lineNumbers\":false,\"headerType\":\"headlights\",\"disablePadding\":false,\"footerType\":\"none\",\"enableMaxHeight\":false,\"seeMoreType\":\"\",\"seeMoreString\":\"\",\"seeMoreAfterLine\":\"\",\"seeMoreTransition\":false,\"highlightingHover\":false,\"lineHighlightColor\":\"rgba(201, 218, 248, 0.2)\",\"copyButton\":true,\"copyButtonType\":\"heroicons\",\"useTabs\":false} -->\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"adb shell am start -n com.example.app\/.MainActivity --es &quot;source&quot; &quot;adb&quot; --ei &quot;id&quot; 123\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D8DEE9\">adb<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">shell<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">am<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">start<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">n<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">com<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9\">example<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9\">app<\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9\">MainActivity<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">--<\/span><span style=\"color: #D8DEE9\">es<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">source<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">adb<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">--<\/span><span style=\"color: #D8DEE9\">ei<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">id<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">123<\/span><\/span><\/code><\/pre><\/div>\n<!-- \/wp:kevinbatdorf\/code-block-pro -->\n\n<ul>\n<li data-start=\"2071\" data-end=\"2090\"><code data-start=\"2071\" data-end=\"2077\">--es<\/code> string extra<\/li>\n<li data-start=\"2093\" data-end=\"2109\"><code data-start=\"2093\" data-end=\"2099\">--ei<\/code> int extra<\/li>\n<\/ul>\n\n<h2 data-start=\"2116\" data-end=\"2161\"><strong>4) Logcat focused on your app (less noise)<\/strong><\/h2>\n<p data-start=\"2162\" data-end=\"2201\">Clear logs, then filter by the app PID:<\/p>\n\n<!-- wp:kevinbatdorf\/code-block-pro {\"code\":\"adb logcat -c\\nadb logcat \\u002d\\u002dpid=$(adb shell pidof com.example.app)\",\"codeHTML\":\"\\u003cpre class=\\u0022shiki nord\\u0022 style=\\u0022background-color: #2e3440ff\\u0022 tabindex=\\u00220\\u0022\\u003e\\u003ccode\\u003e\\u003cspan class=\\u0022line\\u0022\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eadb\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003elogcat\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #81A1C1\\u0022\\u003e-\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003ec\\u003c\/span\\u003e\\u003c\/span\\u003e\\n\\u003cspan class=\\u0022line\\u0022\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eadb\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003elogcat\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #81A1C1\\u0022\\u003e\\u002d\\u002d\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003epid\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #81A1C1\\u0022\\u003e=\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #88C0D0\\u0022\\u003e$\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e(\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eadb\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eshell\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003epidof\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003ecom\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #ECEFF4\\u0022\\u003e.\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eexample\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #ECEFF4\\u0022\\u003e.\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eapp\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e)\\u003c\/span\\u003e\\u003c\/span\\u003e\\u003c\/code\\u003e\\u003c\/pre\\u003e\",\"language\":\"javascript\",\"theme\":\"nord\",\"bgColor\":\"#2e3440ff\",\"textColor\":\"#d8dee9ff\",\"fontSize\":\".875rem\",\"fontFamily\":\"Code-Pro-JetBrains-Mono\",\"lineHeight\":\"1.25rem\",\"clampFonts\":false,\"lineNumbers\":false,\"headerType\":\"headlights\",\"disablePadding\":false,\"footerType\":\"none\",\"enableMaxHeight\":false,\"seeMoreType\":\"\",\"seeMoreString\":\"\",\"seeMoreAfterLine\":\"\",\"seeMoreTransition\":false,\"highlightingHover\":false,\"lineHighlightColor\":\"rgba(201, 218, 248, 0.2)\",\"copyButton\":true,\"copyButtonType\":\"heroicons\",\"useTabs\":false} -->\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"adb logcat -c\nadb logcat --pid=$(adb shell pidof com.example.app)\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D8DEE9\">adb<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">logcat<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">c<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">adb<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">logcat<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">--<\/span><span style=\"color: #D8DEE9\">pid<\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #88C0D0\">$<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #D8DEE9\">adb<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">shell<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">pidof<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">com<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9\">example<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9\">app<\/span><span style=\"color: #D8DEE9FF\">)<\/span><\/span><\/code><\/pre><\/div>\n<!-- \/wp:kevinbatdorf\/code-block-pro -->\n\n<p data-start=\"2282\" data-end=\"2371\">This is one of the quickest ways to reduce noise when hunting crashes or edge-case flows.<\/p>\n\n<h2 data-start=\"2378\" data-end=\"2425\"><strong>5) Disable animations (speed up QA\/UI tests)<\/strong><\/h2>\n\n<!-- wp:kevinbatdorf\/code-block-pro {\"code\":\"adb shell settings put global window_animation_scale 0\\nadb shell settings put global transition_animation_scale 0\\nadb shell settings put global animator_duration_scale 0\",\"codeHTML\":\"\\u003cpre class=\\u0022shiki nord\\u0022 style=\\u0022background-color: #2e3440ff\\u0022 tabindex=\\u00220\\u0022\\u003e\\u003ccode\\u003e\\u003cspan class=\\u0022line\\u0022\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eadb\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eshell\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003esettings\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eput\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eglobal\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003ewindow_animation_scale\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #B48EAD\\u0022\\u003e0\\u003c\/span\\u003e\\u003c\/span\\u003e\\n\\u003cspan class=\\u0022line\\u0022\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eadb\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eshell\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003esettings\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eput\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eglobal\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003etransition_animation_scale\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #B48EAD\\u0022\\u003e0\\u003c\/span\\u003e\\u003c\/span\\u003e\\n\\u003cspan class=\\u0022line\\u0022\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eadb\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eshell\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003esettings\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eput\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eglobal\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eanimator_duration_scale\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #B48EAD\\u0022\\u003e0\\u003c\/span\\u003e\\u003c\/span\\u003e\\u003c\/code\\u003e\\u003c\/pre\\u003e\",\"language\":\"javascript\",\"theme\":\"nord\",\"bgColor\":\"#2e3440ff\",\"textColor\":\"#d8dee9ff\",\"fontSize\":\".875rem\",\"fontFamily\":\"Code-Pro-JetBrains-Mono\",\"lineHeight\":\"1.25rem\",\"clampFonts\":false,\"lineNumbers\":false,\"headerType\":\"headlights\",\"disablePadding\":false,\"footerType\":\"none\",\"enableMaxHeight\":false,\"seeMoreType\":\"\",\"seeMoreString\":\"\",\"seeMoreAfterLine\":\"\",\"seeMoreTransition\":false,\"highlightingHover\":false,\"lineHighlightColor\":\"rgba(201, 218, 248, 0.2)\",\"copyButton\":true,\"copyButtonType\":\"heroicons\",\"useTabs\":false} -->\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"adb shell settings put global window_animation_scale 0\nadb shell settings put global transition_animation_scale 0\nadb shell settings put global animator_duration_scale 0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D8DEE9\">adb<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">shell<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">settings<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">put<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">global<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">window_animation_scale<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">adb<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">shell<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">settings<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">put<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">global<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">transition_animation_scale<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">adb<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">shell<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">settings<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">put<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">global<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">animator_duration_scale<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">0<\/span><\/span><\/code><\/pre><\/div>\n<!-- \/wp:kevinbatdorf\/code-block-pro -->\n\n<h2 data-start=\"2904\" data-end=\"2952\"><strong>6) Toggle network quickly (failure scenarios)<\/strong><\/h2>\n\n<!-- wp:kevinbatdorf\/code-block-pro {\"code\":\"adb shell svc wifi disable\\nadb shell svc wifi enable\\nadb shell svc data disable\\nadb shell svc data enable\",\"codeHTML\":\"\\u003cpre class=\\u0022shiki nord\\u0022 style=\\u0022background-color: #2e3440ff\\u0022 tabindex=\\u00220\\u0022\\u003e\\u003ccode\\u003e\\u003cspan class=\\u0022line\\u0022\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eadb\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eshell\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003esvc\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003ewifi\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003edisable\\u003c\/span\\u003e\\u003c\/span\\u003e\\n\\u003cspan class=\\u0022line\\u0022\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eadb\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eshell\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003esvc\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003ewifi\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eenable\\u003c\/span\\u003e\\u003c\/span\\u003e\\n\\u003cspan class=\\u0022line\\u0022\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eadb\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eshell\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003esvc\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003edata\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003edisable\\u003c\/span\\u003e\\u003c\/span\\u003e\\n\\u003cspan class=\\u0022line\\u0022\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eadb\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eshell\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003esvc\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003edata\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eenable\\u003c\/span\\u003e\\u003c\/span\\u003e\\u003c\/code\\u003e\\u003c\/pre\\u003e\",\"language\":\"javascript\",\"theme\":\"nord\",\"bgColor\":\"#2e3440ff\",\"textColor\":\"#d8dee9ff\",\"fontSize\":\".875rem\",\"fontFamily\":\"Code-Pro-JetBrains-Mono\",\"lineHeight\":\"1.25rem\",\"clampFonts\":false,\"lineNumbers\":false,\"headerType\":\"headlights\",\"disablePadding\":false,\"footerType\":\"none\",\"enableMaxHeight\":false,\"seeMoreType\":\"\",\"seeMoreString\":\"\",\"seeMoreAfterLine\":\"\",\"seeMoreTransition\":false,\"highlightingHover\":false,\"lineHighlightColor\":\"rgba(201, 218, 248, 0.2)\",\"copyButton\":true,\"copyButtonType\":\"heroicons\",\"useTabs\":false} -->\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"adb shell svc wifi disable\nadb shell svc wifi enable\nadb shell svc data disable\nadb shell svc data enable\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D8DEE9\">adb<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">shell<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">svc<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">wifi<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">disable<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">adb<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">shell<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">svc<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">wifi<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">enable<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">adb<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">shell<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">svc<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">data<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">disable<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">adb<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">shell<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">svc<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">data<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">enable<\/span><\/span><\/code><\/pre><\/div>\n<!-- \/wp:kevinbatdorf\/code-block-pro -->\n\n<h2><strong>7) Measure cold start time from terminal<\/strong><\/h2>\n<p data-start=\"4044\" data-end=\"4053\">Look for:<\/p>\n<ul>\n<li data-start=\"4056\" data-end=\"4066\"><code data-start=\"4056\" data-end=\"4066\">ThisTime<\/code><\/li>\n<li data-start=\"4069\" data-end=\"4080\"><code data-start=\"4069\" data-end=\"4080\">TotalTime<\/code><\/li>\n<li data-start=\"4083\" data-end=\"4093\"><code data-start=\"4083\" data-end=\"4093\">WaitTime<\/code><\/li>\n<\/ul>\n<p data-start=\"4095\" data-end=\"4235\">In many teams, <code data-start=\"4110\" data-end=\"4121\">TotalTime<\/code> is the number tracked across builds (but always compare on the same device + similar thermal\/battery conditions).<\/p>\n\n<!-- wp:kevinbatdorf\/code-block-pro {\"code\":\"for i in 1 2 3 4 5; do\\n  adb shell am start -W -S -n com.example.app\/.MainActivity | grep -E \\u0022ThisTime|TotalTime|WaitTime\\u0022\\ndone\\n\",\"codeHTML\":\"\\u003cpre class=\\u0022shiki nord\\u0022 style=\\u0022background-color: #2e3440ff\\u0022 tabindex=\\u00220\\u0022\\u003e\\u003ccode\\u003e\\u003cspan class=\\u0022line\\u0022\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003efor\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003ei\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #81A1C1\\u0022\\u003ein\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #B48EAD\\u0022\\u003e1\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #B48EAD\\u0022\\u003e2\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #B48EAD\\u0022\\u003e3\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #B48EAD\\u0022\\u003e4\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #B48EAD\\u0022\\u003e5\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #81A1C1\\u0022\\u003e;\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #81A1C1\\u0022\\u003edo\\u003c\/span\\u003e\\u003c\/span\\u003e\\n\\u003cspan class=\\u0022line\\u0022\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e  \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eadb\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eshell\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eam\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003estart\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #81A1C1\\u0022\\u003e-\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eW\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #81A1C1\\u0022\\u003e-\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eS\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #81A1C1\\u0022\\u003e-\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003en\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003ecom\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #ECEFF4\\u0022\\u003e.\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eexample\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #ECEFF4\\u0022\\u003e.\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eapp\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #81A1C1\\u0022\\u003e\/\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #ECEFF4\\u0022\\u003e.\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eMainActivity\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #81A1C1\\u0022\\u003e|\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003egrep\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #81A1C1\\u0022\\u003e-\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eE\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #ECEFF4\\u0022\\u003e\\u0026quot;\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #A3BE8C\\u0022\\u003eThisTime|TotalTime|WaitTime\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #ECEFF4\\u0022\\u003e\\u0026quot;\\u003c\/span\\u003e\\u003c\/span\\u003e\\n\\u003cspan class=\\u0022line\\u0022\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003edone\\u003c\/span\\u003e\\u003c\/span\\u003e\\n\\u003cspan class=\\u0022line\\u0022\\u003e\\u003c\/span\\u003e\\u003c\/code\\u003e\\u003c\/pre\\u003e\",\"language\":\"javascript\",\"theme\":\"nord\",\"bgColor\":\"#2e3440ff\",\"textColor\":\"#d8dee9ff\",\"fontSize\":\".875rem\",\"fontFamily\":\"Code-Pro-JetBrains-Mono\",\"lineHeight\":\"1.25rem\",\"clampFonts\":false,\"lineNumbers\":false,\"headerType\":\"headlights\",\"disablePadding\":false,\"footerType\":\"none\",\"enableMaxHeight\":false,\"seeMoreType\":\"\",\"seeMoreString\":\"\",\"seeMoreAfterLine\":\"\",\"seeMoreTransition\":false,\"highlightingHover\":false,\"lineHighlightColor\":\"rgba(201, 218, 248, 0.2)\",\"copyButton\":true,\"copyButtonType\":\"heroicons\",\"useTabs\":false} -->\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"for i in 1 2 3 4 5; do\n  adb shell am start -W -S -n com.example.app\/.MainActivity | grep -E &quot;ThisTime|TotalTime|WaitTime&quot;\ndone\n\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D8DEE9\">for<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">i<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">in<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">1<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">2<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">3<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">4<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">5<\/span><span style=\"color: #81A1C1\">;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">do<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #D8DEE9\">adb<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">shell<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">am<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">start<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">W<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">S<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">n<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">com<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9\">example<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9\">app<\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9\">MainActivity<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">|<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">grep<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">E<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">ThisTime|TotalTime|WaitTime<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">done<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n<!-- \/wp:kevinbatdorf\/code-block-pro -->\n\n<h2 data-start=\"4400\" data-end=\"4432\"><strong>My favorite QA loop one-liner<\/strong><\/h2>\n<p>Install, reset state, start:<\/p>\n\n<!-- wp:kevinbatdorf\/code-block-pro {\"code\":\"adb install -r -g app.apk \\u0026amp;\\u0026amp; \\u005c\\nadb shell pm clear com.example.app \\u0026amp;\\u0026amp; \\u005c\\nadb shell am start -n com.example.app\/.MainActivity\",\"codeHTML\":\"\\u003cpre class=\\u0022shiki nord\\u0022 style=\\u0022background-color: #2e3440ff\\u0022 tabindex=\\u00220\\u0022\\u003e\\u003ccode\\u003e\\u003cspan class=\\u0022line\\u0022\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eadb\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003einstall\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #81A1C1\\u0022\\u003e-\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003er\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #81A1C1\\u0022\\u003e-\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eg\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eapp\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #ECEFF4\\u0022\\u003e.\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eapk\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #81A1C1\\u0022\\u003e\\u0026amp;\\u0026amp;\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u005c\\u003c\/span\\u003e\\u003c\/span\\u003e\\n\\u003cspan class=\\u0022line\\u0022\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eadb\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eshell\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003epm\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eclear\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003ecom\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #ECEFF4\\u0022\\u003e.\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eexample\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #ECEFF4\\u0022\\u003e.\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eapp\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #81A1C1\\u0022\\u003e\\u0026amp;\\u0026amp;\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u005c\\u003c\/span\\u003e\\u003c\/span\\u003e\\n\\u003cspan class=\\u0022line\\u0022\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eadb\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eshell\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eam\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003estart\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #81A1C1\\u0022\\u003e-\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003en\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9FF\\u0022\\u003e \\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003ecom\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #ECEFF4\\u0022\\u003e.\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eexample\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #ECEFF4\\u0022\\u003e.\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eapp\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #81A1C1\\u0022\\u003e\/\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #ECEFF4\\u0022\\u003e.\\u003c\/span\\u003e\\u003cspan style=\\u0022color: #D8DEE9\\u0022\\u003eMainActivity\\u003c\/span\\u003e\\u003c\/span\\u003e\\u003c\/code\\u003e\\u003c\/pre\\u003e\",\"language\":\"javascript\",\"theme\":\"nord\",\"bgColor\":\"#2e3440ff\",\"textColor\":\"#d8dee9ff\",\"fontSize\":\".875rem\",\"fontFamily\":\"Code-Pro-JetBrains-Mono\",\"lineHeight\":\"1.25rem\",\"clampFonts\":false,\"lineNumbers\":false,\"headerType\":\"headlights\",\"disablePadding\":false,\"footerType\":\"none\",\"enableMaxHeight\":false,\"seeMoreType\":\"\",\"seeMoreString\":\"\",\"seeMoreAfterLine\":\"\",\"seeMoreTransition\":false,\"highlightingHover\":false,\"lineHighlightColor\":\"rgba(201, 218, 248, 0.2)\",\"copyButton\":true,\"copyButtonType\":\"heroicons\",\"useTabs\":false} -->\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"adb install -r -g app.apk &amp;&amp; \\\nadb shell pm clear com.example.app &amp;&amp; \\\nadb shell am start -n com.example.app\/.MainActivity\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D8DEE9\">adb<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">install<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">r<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">g<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">app<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9\">apk<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">&amp;&amp;<\/span><span style=\"color: #D8DEE9FF\"> \\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">adb<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">shell<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">pm<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">clear<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">com<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9\">example<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9\">app<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">&amp;&amp;<\/span><span style=\"color: #D8DEE9FF\"> \\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">adb<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">shell<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">am<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">start<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9\">n<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">com<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9\">example<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9\">app<\/span><span style=\"color: #81A1C1\">\/<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9\">MainActivity<\/span><\/span><\/code><\/pre><\/div>\n<!-- \/wp:kevinbatdorf\/code-block-pro -->\n\n<!-- wp:paragraph -->\n<p><\/p>\n<!-- \/wp:paragraph -->","protected":false},"excerpt":{"rendered":"<p>When you ship Android apps, you quickly learn that some tasks are either painful (too many taps) or inconsistent to reproduce from UI. ADB makes these workflows deterministic and fast\u2014especially when you\u2019re debugging, doing QA, or validating regressions. Below is my \u201cdaily driver\u201d ADB cheat sheet: commands I use constantly during development and troubleshooting. Prerequisites (If you use real device) Enable Developer options on the device Enable USB debugging Verify connection: adb devices -l If you see your device listed, you\u2019re good. 1) Reset app state (clean repro) The fastest way to reproduce issues from a truly clean state. adb&#8230;<\/p>\n","protected":false},"author":1,"featured_media":889,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[30],"tags":[],"class_list":["post-888","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/barisuslucan.com\/en\/wp-json\/wp\/v2\/posts\/888","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/barisuslucan.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/barisuslucan.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/barisuslucan.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/barisuslucan.com\/en\/wp-json\/wp\/v2\/comments?post=888"}],"version-history":[{"count":2,"href":"https:\/\/barisuslucan.com\/en\/wp-json\/wp\/v2\/posts\/888\/revisions"}],"predecessor-version":[{"id":891,"href":"https:\/\/barisuslucan.com\/en\/wp-json\/wp\/v2\/posts\/888\/revisions\/891"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/barisuslucan.com\/en\/wp-json\/wp\/v2\/media\/889"}],"wp:attachment":[{"href":"https:\/\/barisuslucan.com\/en\/wp-json\/wp\/v2\/media?parent=888"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/barisuslucan.com\/en\/wp-json\/wp\/v2\/categories?post=888"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/barisuslucan.com\/en\/wp-json\/wp\/v2\/tags?post=888"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}