Android手把手编写儿童手机远程监控App之无线调试与图标名称修改

0 阅读4分钟

概述

上节嘟宝工程结构详解,最后说到USB调式,这节把WIFI调试继续说明。在 Android 开发中,WiFi调试通过 Wi-Fi 网络(而非 USB 数据线)连接 Android 设备和开发电脑,进行应用安装、调试、日志查看等操作。好处在于摆脱线缆束缚,提升移动调试便利性;解决 USB 接口受限或无驱动问题。

WIFI调试

首次配对仍需 USB:Android 10 及以下通常需先用 USB 开启无线调试端口;Android 11+ 支持无线配对(扫码或配对码),但部分旧设备仍需 USB 触发,也就是说第一次调试,需用USB线授权。开启WIFi调试需要两个条件:

  • 电脑安装adb工具,并设置环境变量
  • Android 开启wifi调试

安装adb

ADB 工具包含在 Android SDK Platform-Tools 中。通过以下安装:

  • 打开 SDK Manager,在 Android Studio 菜单栏中,点击 Tools > SDK Manager
  • 在弹出的窗口中,切换到 SDK Tools
  • 在列表中找到并勾选 Android SDK Platform-Tools 如下图: 在这里插入图片描述
  • 配置ADB环境变量 打开环境变量:右键点击“此电脑” > “属性” > “高级系统设置” > “环境变量”。 编辑 Path 变量:在系统变量中找到 Path,双击编辑。点击新建,填入完整的 platform-tools 路径(例如:C:\Users\你的用户名\AppData\Local\Android\Sdk\platform-tools) 设置完成之后,重启电脑。在cmd中,输入adb version,如下图安装配置完成: 在这里插入图片描述

Android 开启WIFI调试

  • 开启开发者选项:在手机上进入 设置 > 关于手机,连续多次点击版本号 ,直到提示您已处于开发者模式。
  • 开启 USB 调试:返回>设置> 主界面,进入 开发者选项,找到并打开 USB 调试 开关。
  • 首次连接WIFI调试,需要用数据线将手机连接到电脑授权。手机屏幕会弹出一个“允许 USB 调试吗?”的对话框,点击 确定 即可。
  • 在开发者选项中界面界面中打开wifi调试:如下图: 在这里插入图片描述
  • 开启无线调试与开启usb安装,点击无线调试几个字,弹出页面如下: 在这里插入图片描述 图中,显示adb所要连接设备的地址与端口。在cmd中,输入adb connect 192.168.188.107:40543即可成功连接。连接成功后,Android studio会出现手机的图标,如下图: 在这里插入图片描述 在这里插入图片描述

adb常用命令

  • adb version 查看adb版本及其安装位置
  • adb devices 显示所有通过adb连接的设备
  • adb connect 192.168.1.106:105:5555 连接某个设备
  • adb disconnect 192.168.1.106:105:5555 断开某个设备
  • adb reboot 重启设备
  • adb install app.apk 安装apk,注意apk的路径
  • adb uninstall app.apk 卸载apk,注意apk路径
  • adb shell 进入手机终端的shell,执行linux命令

修改嘟宝Android工程图标与名称

Android工程建立调试安装成功后,apk图标是默认Android小机器人,应用显示名称为拼音DuBao,我们并不想使用这些,而是更改为我们希望的样子。如下图默认样式 在这里插入图片描述 在这里插入图片描述

修改DuBao应用显示名称

应用显示名称,是app在桌面时,上面图标下面文字,如下图抖音与淘宝的样式: 在这里插入图片描述 修改应用显示名称的位置是在AndroidManifest.xml文件中,工程中如下图: 在这里插入图片描述 在AndroidManifest.xml,有个android:label标签,它是设置用户显示名称的,它默认设置是DuBao,实际指向的是@string/app_name,我们修改android:label的值看下效果:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.zilong.dubao">

    <application
        android:allowBackup="true"
        android:dataExtractionRules="@xml/data_extraction_rules"
        android:fullBackupContent="@xml/backup_rules"
        android:icon="@mipmap/ic_launcher"
        android:label="嘟宝"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.DuBao"
        tools:targetApi="31">
        <activity
            android:name=".HelloWorldActivity"
            android:exported="true" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

运行调试查看图片文字已经改变 在这里插入图片描述 说明已经修改成功,回头看android:label标签默认@string/app_name,@string/app_name是个字符串设置,我们通过修改@string/app_name,来修改应用显示名称,先恢复AndroidManifest.xml之前的配置。打开string.xml文件夹 在这里插入图片描述 如图,在values>string.xml中,看到app_name,设置的DuBao,修改如下

<resources>
    <string name="app_name">嘟宝</string>
</resources>

调试运行后,发现也可正常修改。通过app_name修改的好处是,我在程序源码可使用app_name,日后维护只需要修改app_name指定的名称,无须多方修改。 在这里插入图片描述

修改嘟宝app应用图标

嘟宝默认图标是个小机器人,andorid studio工程默认不是通过指定图片,而是通过矢量图生成的图片,查看AndroidManifest.xml文件中,配置图片的选项:

android:icon="@mipmap/ic_launcher"

android:icon指向的是@mipmap/ic_launcher,找到这个文件,打开里面的内容如下:

<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
    <background android:drawable="@drawable/ic_launcher_background" />
    <foreground android:drawable="@drawable/ic_launcher_foreground" />
</adaptive-icon>

它配置指向前背景与后背景,分别指向两个xml。而这两个xml的内容是绘制矢量图,下图: 在这里插入图片描述

在这里插入图片描述 绕来绕去,配置图标的根本方法还是在AndroidManifest配置,我们把android:icon指向准备好的图片。准备两张图片,一张方形、一张圆角。拷贝到drawable目录下,命名为fav.png,favround.png。 AndroidManifest代码

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.zilong.dubao">

    <application
        android:allowBackup="true"
        android:dataExtractionRules="@xml/data_extraction_rules"
        android:fullBackupContent="@xml/backup_rules"
        android:icon="@drawable/fav"
        android:label="@string/app_name"
        android:roundIcon="@drawable/favround"
        android:supportsRtl="true"
        android:theme="@style/Theme.DuBao"
        tools:targetApi="31">
        <activity
            android:name=".HelloWorldActivity"
            android:exported="true" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

调式运行如下图: 在这里插入图片描述