721 lines
No EOL
24 KiB
HTML
Executable file
721 lines
No EOL
24 KiB
HTML
Executable file
|
|
<!doctype html>
|
|
<html lang="en" class="no-js">
|
|
<head>
|
|
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
|
|
<meta name="description" content="Some tips and tricks for working with the devices that enable the project.">
|
|
|
|
|
|
<meta name="author" content="Gugulethu Hlekwayo">
|
|
|
|
|
|
<link rel="canonical" href="https://gugulet.hu/qself/reference/devices/">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<link rel="icon" href="../../../assets/images/favicon.png">
|
|
<meta name="generator" content="zensical-0.0.20">
|
|
|
|
|
|
|
|
<title>Devices - Gugulethu Hlekwayo</title>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="../../../assets/stylesheets/modern/main.d4922b3c.min.css">
|
|
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="../../../assets/stylesheets/modern/palette.dfe2e883.min.css">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Inter:300,300i,400,400i,500,500i,700,700i%7CJetBrains+Mono:400,400i,700,700i&display=fallback">
|
|
<style>:root{--md-text-font:"Inter";--md-code-font:"JetBrains Mono"}</style>
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="../../../assets/css/g.css">
|
|
|
|
<script>__md_scope=new URL("../../..",location),__md_hash=e=>[...e].reduce(((e,t)=>(e<<5)-e+t.charCodeAt(0)),0),__md_get=(e,t=localStorage,a=__md_scope)=>JSON.parse(t.getItem(a.pathname+"."+e)),__md_set=(e,t,a=localStorage,_=__md_scope)=>{try{a.setItem(_.pathname+"."+e,JSON.stringify(t))}catch(e){}},document.documentElement.setAttribute("data-platform",navigator.platform)</script>
|
|
|
|
|
|
|
|
|
|
|
|
</head>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="custom" data-md-color-accent="indigo">
|
|
|
|
|
|
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
|
|
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
|
|
<label class="md-overlay" for="__drawer"></label>
|
|
<div data-md-component="skip">
|
|
|
|
|
|
<a href="#mobile" class="md-skip">
|
|
Skip to content
|
|
</a>
|
|
|
|
</div>
|
|
<div data-md-component="announce">
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<header class="md-header md-header--shadow" data-md-component="header">
|
|
<nav class="md-header__inner md-grid" aria-label="Header">
|
|
<a href="../../.." title="Gugulethu Hlekwayo" class="md-header__button md-logo" aria-label="Gugulethu Hlekwayo" data-md-component="logo">
|
|
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" class="lucide lucide-book-open" viewBox="0 0 24 24"><path d="M12 7v14M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"/></svg>
|
|
|
|
</a>
|
|
<label class="md-header__button md-icon" for="__drawer">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" class="lucide lucide-menu" viewBox="0 0 24 24"><path d="M4 5h16M4 12h16M4 19h16"/></svg>
|
|
</label>
|
|
<div class="md-header__title" data-md-component="header-title">
|
|
<div class="md-header__ellipsis">
|
|
<div class="md-header__topic">
|
|
<span class="md-ellipsis">
|
|
Gugulethu Hlekwayo
|
|
</span>
|
|
</div>
|
|
<div class="md-header__topic" data-md-component="header-topic">
|
|
<span class="md-ellipsis">
|
|
|
|
Devices
|
|
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<form class="md-header__option" data-md-component="palette">
|
|
|
|
|
|
|
|
|
|
<input class="md-option" data-md-color-media="none" data-md-color-scheme="default" data-md-color-primary="custom" data-md-color-accent="indigo" aria-hidden="true" type="radio" name="__palette" id="__palette_0">
|
|
|
|
|
|
</form>
|
|
|
|
|
|
|
|
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
|
|
|
|
|
|
|
|
|
|
|
|
<label class="md-header__button md-icon" for="__search">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" class="lucide lucide-search" viewBox="0 0 24 24"><path d="m21 21-4.34-4.34"/><circle cx="11" cy="11" r="8"/></svg>
|
|
</label>
|
|
<div class="md-search" data-md-component="search" role="dialog" aria-label="Search">
|
|
<button type="button" class="md-search__button">
|
|
Search
|
|
</button>
|
|
</div>
|
|
|
|
|
|
<div class="md-header__source">
|
|
|
|
</div>
|
|
</nav>
|
|
|
|
</header>
|
|
|
|
<div class="md-container" data-md-component="container">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<main class="md-main" data-md-component="main">
|
|
<div class="md-main__inner md-grid">
|
|
|
|
|
|
|
|
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
|
|
<div class="md-sidebar__scrollwrap">
|
|
<div class="md-sidebar__inner">
|
|
|
|
|
|
|
|
|
|
<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
|
|
<label class="md-nav__title" for="__drawer">
|
|
<a href="../../.." title="Gugulethu Hlekwayo" class="md-nav__button md-logo" aria-label="Gugulethu Hlekwayo" data-md-component="logo">
|
|
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" class="lucide lucide-book-open" viewBox="0 0 24 24"><path d="M12 7v14M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"/></svg>
|
|
|
|
</a>
|
|
Gugulethu Hlekwayo
|
|
</label>
|
|
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../.." class="md-nav__link">
|
|
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
|
|
|
|
Homepage
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../../../resume/" class="md-nav__link">
|
|
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
|
|
|
|
Resume
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
|
|
<div class="md-sidebar__scrollwrap">
|
|
<div class="md-sidebar__inner">
|
|
|
|
|
|
|
|
<nav class="md-nav md-nav--secondary" aria-label="On this page">
|
|
|
|
|
|
|
|
|
|
<label class="md-nav__title" for="__toc">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
On this page
|
|
</label>
|
|
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#mobile" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
Mobile
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#watch" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
Watch
|
|
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Watch">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#connect-to-device" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
Connect to device
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#grant-permissions-to-apps" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
Grant permissions to apps
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#list-system-apps" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
List system apps
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#disable-system-apps" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
Disable system apps
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#laptop" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
|
|
Laptop
|
|
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</nav>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<div class="md-content" data-md-component="content">
|
|
|
|
<article class="md-content__inner md-typeset">
|
|
|
|
|
|
|
|
<h1>Devices</h1>
|
|
|
|
<h2 id="mobile"><span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17 19H7V5h10m0-4H7c-1.11 0-2 .89-2 2v18a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2"/></svg></span> Mobile<a class="headerlink" href="#mobile" title="Permanent link">¶</a></h2>
|
|
<p>The mobile device used in the qSelf project needs to run the Android operating system; preferably the latest version. Most manufacturers add cruft to their devices, so the Pixel series is recommended for its focus on the pure Android experience. Furthermore, the Graphene-flavoured version of Android gives you more control of your privacy and device use compared to standard Android. The device should be unrooted, but with <a href="https://www.howtogeek.com/129728/how-to-enable-developer-options-menu-and-enable-and-usb-debugging-on-android/">Developer options</a> enabled. This lets you use the Android Debug Bridge (ADB).</p>
|
|
<p>To install Graphene, see their <a href="https://grapheneos.org/install/">user guide</a> for instructions.</p>
|
|
<h2 id="watch"><span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6 12a6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6 6 6 0 0 1-6-6m14 0a7.94 7.94 0 0 0-3.05-6.27L16 0H8l-.95 5.73A7.94 7.94 0 0 0 4 12c0 2.54 1.19 4.81 3.05 6.27L8 24h8l.95-5.73A7.96 7.96 0 0 0 20 12"/></svg></span> Watch<a class="headerlink" href="#watch" title="Permanent link">¶</a></h2>
|
|
<p>Similarly to the mobile device, the smartwatch needs to run wearOS 3+. The TicWatch series of smartwatches has good battery life and a reasonable number of sensors. You may need to disable or remove additional software added by the manufacturer to get better battery life and less interference. The device should be unrooted, but with <a href="https://developer.android.com/training/wearables/get-started/debugging">Developer options</a> enabled. This lets wirelessly connect using ADB.</p>
|
|
<p>The commands that follow can help you debloat your device and make it run smoother.</p>
|
|
<h3 id="connect-to-device">Connect to device<a class="headerlink" href="#connect-to-device" title="Permanent link">¶</a></h3>
|
|
<p>Once you have enabled ADB via wi-fi and you have the device's address you can connect to the device run the following command from your terminal or console.</p>
|
|
<div class="tabbed-set tabbed-alternate" data-tabs="1:2"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Code</label><label for="__tabbed_1_2">Example</label></div>
|
|
<div class="tabbed-content">
|
|
<div class="tabbed-block">
|
|
<div class="language-text highlight"><pre><span></span><code>adb connect <IP-address>
|
|
adb connect <IP-address>:<Port>
|
|
</code></pre></div>
|
|
</div>
|
|
<div class="tabbed-block">
|
|
<div class="language-text highlight"><pre><span></span><code>adb connect 192.168.123.132
|
|
adb connect 192.168.123.132:12345
|
|
</code></pre></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Part</th>
|
|
<th>Description</th>
|
|
<th>Required</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td><code>adb</code></td>
|
|
<td>The Android Debugging Bridge CLI tool. To install it on Termux, use: <code>pkg install android-tools</code>. To install it on macOS, using homebrew: <code>brew install android-tools</code>.</td>
|
|
<td>Yes</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>connect</code></td>
|
|
<td>The command to connect over wi-fi to the device.</td>
|
|
<td>Yes</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code><IP-address></code></td>
|
|
<td>You can find the IP address on your device when you turn on ADB over wi-fi. It is usually located in <strong>Settings</strong> > <strong>Developer options</strong> > <strong>Wireless debugging</strong>. The command to connect without the port number may be necessary to prompt the permissions dialog, which confirms that you want to connect to this device on the first attempt.</td>
|
|
<td>Yes</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code><Port></code></td>
|
|
<td>The port number can usually be found in <strong>Settings</strong> > <strong>Developer options</strong> > <strong>Wireless debugging</strong>. The port number is required when there is more than one device connected via ADB.</td>
|
|
<td>No</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<h3 id="grant-permissions-to-apps">Grant permissions to apps<a class="headerlink" href="#grant-permissions-to-apps" title="Permanent link">¶</a></h3>
|
|
<p>To allow autoWear, for example, to change secure settings (such as toggling Theatre Mode) use the following command.</p>
|
|
<div class="tabbed-set tabbed-alternate" data-tabs="2:2"><input checked="checked" id="__tabbed_2_1" name="__tabbed_2" type="radio" /><input id="__tabbed_2_2" name="__tabbed_2" type="radio" /><div class="tabbed-labels"><label for="__tabbed_2_1">Code</label><label for="__tabbed_2_2">Example</label></div>
|
|
<div class="tabbed-content">
|
|
<div class="tabbed-block">
|
|
<div class="language-text highlight"><pre><span></span><code>adb -s "<IP-address>:<Port>" shell pm grant <package-name> <permission>
|
|
</code></pre></div>
|
|
</div>
|
|
<div class="tabbed-block">
|
|
<div class="language-text highlight"><pre><span></span><code>adb -s "192.168.123.132:12345" shell pm grant com.joaomgcd.autowear android.permission.WRITE_SECURE_SETTINGS
|
|
</code></pre></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Part</th>
|
|
<th>Description</th>
|
|
<th>Required</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td><code>adb</code></td>
|
|
<td>The Android Debugging Bridge CLI tool. To install it on Termux, use: <code>pkg install android-tools</code>. To install it on macOS, using homebrew: <code>brew install android-tools</code>.</td>
|
|
<td>Yes</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>-s</code></td>
|
|
<td>This flag selects a particular device when there is more than one device connected via ADB.</td>
|
|
<td>No</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code><IP-address></code></td>
|
|
<td>This IP address can be found in <strong>Settings</strong> > <strong>Developer options</strong> > <strong>Wireless debugging</strong>. The command to connect without the port number may be necessary to prompt the permissions dialog, which confirms that you want to connect to this device on the first connection.</td>
|
|
<td>Yes</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code><Port></code></td>
|
|
<td>The port number is in <strong>Settings</strong> > <strong>Developer options</strong> > <strong>Wireless debugging</strong>. The port number is required when there is more than one device connected via ADB.</td>
|
|
<td>No</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>shell</code></td>
|
|
<td>The shell for interacting with ADB.</td>
|
|
<td>Yes</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>pm</code></td>
|
|
<td>Short for package manager, which manages apps on an Android or wearOS device.</td>
|
|
<td>Yes</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>grant <package-name> <permission></code></td>
|
|
<td>Grant this package these permissions on the device.</td>
|
|
<td>Yes</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<h3 id="list-system-apps">List system apps<a class="headerlink" href="#list-system-apps" title="Permanent link">¶</a></h3>
|
|
<p>To list all the manufacturer applications installed.</p>
|
|
<div class="tabbed-set tabbed-alternate" data-tabs="3:2"><input checked="checked" id="__tabbed_3_1" name="__tabbed_3" type="radio" /><input id="__tabbed_3_2" name="__tabbed_3" type="radio" /><div class="tabbed-labels"><label for="__tabbed_3_1">Code</label><label for="__tabbed_3_2">Example</label></div>
|
|
<div class="tabbed-content">
|
|
<div class="tabbed-block">
|
|
<div class="language-text highlight"><pre><span></span><code>adb -s "<IP-address>:<Port>" shell pm list packages -s -e <manufacturer-name>
|
|
</code></pre></div>
|
|
</div>
|
|
<div class="tabbed-block">
|
|
<div class="language-text highlight"><pre><span></span><code>adb -s "192.168.123.132:12345" shell pm list packages -s -e mobvoi
|
|
</code></pre></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Part</th>
|
|
<th>Description</th>
|
|
<th>Required</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td><code>adb</code></td>
|
|
<td>The Android Debugging Bridge CLI tool. To install it on Termux, use: <code>pkg install android-tools</code>. To install it on macOS, using homebrew: <code>brew install android-tools</code>.</td>
|
|
<td>Yes</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>-s</code></td>
|
|
<td>This flag selects a particular device when there is more than one device connected via ADB.</td>
|
|
<td>No</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code><IP-address></code></td>
|
|
<td>This IP address can be found in <strong>Settings</strong> > <strong>Developer options</strong> > <strong>Wireless debugging</strong>. The command to connect without the port number may be necessary to prompt the permissions dialog, which confirms that you want to connect to this device on the first attempt.</td>
|
|
<td>Yes</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code><Port></code></td>
|
|
<td>The port number is in <strong>Settings</strong> > <strong>Developer options</strong> > <strong>Wireless debugging</strong>. The port number is required when there is more than one device connected via ADB.</td>
|
|
<td>No</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>shell</code></td>
|
|
<td>The shell for interacting with ADB.</td>
|
|
<td>Yes</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>pm</code></td>
|
|
<td>Short for package manager, which manages apps on an Android or wearOS device.</td>
|
|
<td>Yes</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>list packages</code></td>
|
|
<td>List all the packages that meet the conditions that follow.</td>
|
|
<td>Yes</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>-s</code></td>
|
|
<td>A flag to filter for system apps.</td>
|
|
<td>No</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>-e</code></td>
|
|
<td>A flag to filter for enabled apps. To filter for disabled apps use <code>-d</code>.</td>
|
|
<td>No</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<h3 id="disable-system-apps">Disable system apps<a class="headerlink" href="#disable-system-apps" title="Permanent link">¶</a></h3>
|
|
<p>To disable a manufacturer's app on your device.</p>
|
|
<div class="tabbed-set tabbed-alternate" data-tabs="4:2"><input checked="checked" id="__tabbed_4_1" name="__tabbed_4" type="radio" /><input id="__tabbed_4_2" name="__tabbed_4" type="radio" /><div class="tabbed-labels"><label for="__tabbed_4_1">Code</label><label for="__tabbed_4_2">Example</label></div>
|
|
<div class="tabbed-content">
|
|
<div class="tabbed-block">
|
|
<div class="language-text highlight"><pre><span></span><code>adb -s "<IP-address>:<Port>" shell pm disable-user --user 0 <package-name>
|
|
</code></pre></div>
|
|
</div>
|
|
<div class="tabbed-block">
|
|
<div class="language-text highlight"><pre><span></span><code>adb -s "192.168.123.132:12345" shell pm disable-user --user 0 com.mobvoi.wear.mcuservice.aw
|
|
</code></pre></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Part</th>
|
|
<th>Description</th>
|
|
<th>Required</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td><code>adb</code></td>
|
|
<td>The Android Debugging Bridge CLI tool. To install it on Termux, use: <code>pkg install android-tools</code>. To install it on macOS, using homebrew: <code>brew install android-tools</code>.</td>
|
|
<td>Yes</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>-s</code></td>
|
|
<td>This flag selects a particular device when there is more than one device connected via ADB.</td>
|
|
<td>No</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code><IP-address></code></td>
|
|
<td>This IP address can be found in <strong>Settings</strong> > <strong>Developer options</strong> > <strong>Wireless debugging</strong>. The command to connect without the port number may be necessary to prompt the permissions dialog, which confirms that you want to connect to this device on the first attempt.</td>
|
|
<td>Yes</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code><Port></code></td>
|
|
<td>The port number is in <strong>Settings</strong> > <strong>Developer options</strong> > <strong>Wireless debugging</strong>. The port number is required when there is more than one device connected via ADB.</td>
|
|
<td>No</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>shell</code></td>
|
|
<td>The shell for interacting with ADB.</td>
|
|
<td>Yes</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>pm</code></td>
|
|
<td>Short for package manager, which manages apps on an Android or wearOS device.</td>
|
|
<td>Yes</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>disable-user --user 0</code></td>
|
|
<td>Disable the following app on the device.</td>
|
|
<td>Yes</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code><package-name></code></td>
|
|
<td>The name of the package to disable. You can find the package names by <a href="#list-system-apps">listing the packages</a>.</td>
|
|
<td>Yes</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<h2 id="laptop"><span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 6h16v10H4m16 2a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2H4c-1.11 0-2 .89-2 2v10a2 2 0 0 0 2 2H0v2h24v-2z"/></svg></span> Laptop<a class="headerlink" href="#laptop" title="Permanent link">¶</a></h2>
|
|
<p>Any laptop that can run Python is good enough for this project.</p>
|
|
<div class="admonition note">
|
|
<p class="admonition-title">Using commands in Powershell</p>
|
|
<p>Please be aware that some terminal commands in Linux and macOS are different in Windows Powershell. There may be instances where you need to use ticks (`) to escape ceratin characters.</p>
|
|
</div>
|
|
|
|
|
|
<nav class="md-tags" >
|
|
|
|
|
|
|
|
|
|
|
|
<span class="md-tag">Watch</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="md-tag">Mobile</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="md-tag">Laptop</span>
|
|
|
|
|
|
</nav>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</article>
|
|
</div>
|
|
|
|
|
|
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
|
|
</div>
|
|
|
|
</main>
|
|
|
|
<footer class="md-footer">
|
|
|
|
<div class="md-footer-meta md-typeset">
|
|
<div class="md-footer-meta__inner md-grid">
|
|
<div class="md-copyright">
|
|
|
|
<div class="md-copyright__highlight">
|
|
© Gugulethu Hlekwayo. All rights reserved.
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
|
|
</div>
|
|
<div class="md-dialog" data-md-component="dialog">
|
|
<div class="md-dialog__inner md-typeset"></div>
|
|
</div>
|
|
|
|
<div class="md-progress" data-md-component="progress" role="progressbar"></div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<script id="__config" type="application/json">{"annotate":null,"base":"../../..","features":["navigation.indexes","navigation.instant","navigation.instant.prefetch","navigation.instant.progress","navigation.tracking","search.highlight"],"search":"../../../assets/javascripts/workers/search.e2d2d235.min.js","tags":null,"translations":{"clipboard.copied":"Copied to clipboard","clipboard.copy":"Copy to clipboard","search.result.more.one":"1 more on this page","search.result.more.other":"# more on this page","search.result.none":"No matching documents","search.result.one":"1 matching document","search.result.other":"# matching documents","search.result.placeholder":"Type to start searching","search.result.term.missing":"Missing","select.version":"Select version"},"version":null}</script>
|
|
|
|
|
|
<script src="../../../assets/javascripts/bundle.8ffeb9c9.min.js"></script>
|
|
|
|
<script src="../../../assets/js/loader.js"></script>
|
|
|
|
|
|
</body>
|
|
</html> |