1 查找当前设备是否存在包名为com.fuxi.calendar的apk,找到其安装路径
D:\ProjectSpace\Calendar>adb shell pm path com.fuxi.calendar
package:/system/app/FuxiCalendar/FuxiCalendar.apk
2 adb获取root权限
D:\ProjectSpace\Calendar>adb root
3 adb remount
‘adb remount’ 意思是将 ‘/system’ 部分置于可写入的模式,默认情况下 ‘/system’ 部分是只读模式的。这个命令只适用于已被 root 的设备。
在将文件 push 到 ‘/system’ 文件夹之前,必须先输入命令 ‘adb remount’。
‘adb remount’ 的作用相当于 ‘adb shell mount -o rw,remount,rw /system’。
D:\ProjectSpace\Calendar>adb remount
remount succeeded
但有可能是失败
https://blog.csdn.net/u010312474/article/details/89350819
4 因为有一个正式签名的apk,所以后来debug运行时安装不上,所以要删除当前已经存在的apk,.进入当前设备,找到安装包路径,删除apk,然后重新重启设备
D:\ProjectSpace\Calendar>adb shell
ic421:/ # cd /system/app/FuxiCalendar/
ic421:/system/app/FuxiCalendar # ls
FuxiCalendar.apk oat
ic421:/system/app/FuxiCalendar # rm * -rf
ic421:/system/app/FuxiCalendar # ls
ic421:/system/app/FuxiCalendar # exit
5 重启设备
D:\ProjectSpace\Calendar>adb reboot
如果不重启,执行adb shell pm path com.fuxi.calendar,虽然已经删除成功,但还是会得到安装路径,但其实apk已经不存在了,所以需要reboot重启
6.卸载apk
删除apk之后,卸载会报错,也从侧面说明了,上面删除操作成功
D:\ProjectSpace\Calendar>adb uninstall com.fuxi.calendar
java.lang.IllegalArgumentException: Unknown package: com.fuxi.calendarat com.android.server.pm.Settings.isOrphaned(Settings.java:4409)at com.android.server.pm.PackageManagerService.isOrphaned(PackageManagerService.java:22447)at com.android.server.pm.PackageManagerService.deletePackageVersioned(PackageManagerService.java:19356)at com.android.server.pm.PackageInstallerService.uninstall(PackageInstallerService.java:745)at com.android.server.pm.PackageManagerShellCommand.runUninstall(PackageManagerShellCommand.java:929)at com.android.server.pm.PackageManagerShellCommand.onCommand(PackageManagerShellCommand.java:134)at android.os.ShellCommand.exec(ShellCommand.java:96)at com.android.server.pm.PackageManagerService.onShellCommand(PackageManagerService.java:22747)at android.os.Binder.shellCommand(Binder.java:594)at android.os.Binder.onTransact(Binder.java:492)at android.content.pm.IPackageManager$Stub.onTransact(IPackageManager.java:2658)at com.android.server.pm.PackageManagerService.onTransact(PackageManagerService.java:3859)at android.os.Binder.execTransact(Binder.java:697)
========================================================================
使用adb命令连接WiFi进行无线调试
1.先用Usb连接设备
2.打开命令行模式 输入命令adb tcpip 5555
会得到restarting in TCP mode port: 5555
3.输入命令:adb shell ifconfig wlan0
wlan0 Link encap:Ethernet HWaddr 44:91:60:bd:6d:47 Driver cnss_pciinet addr:192.168.20.185 Bcast:192.168.20.255 Mask:255.255.255.0inet6 addr: fe80::bb97:fc1:fcd:708e/64 Scope: LinkUP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:1445982 errors:0 dropped:0 overruns:0 frame:0TX packets:501740 errors:0 dropped:7 overruns:0 carrier:0collisions:0 txqueuelen:3000RX bytes:441986933 TX bytes:389701652
4.输入 :ping 192.168.20.185 能返回回复的字节等信息,连接成功
5.输入 adb connect 192.168.20.185:5555 (有的是需要带5555端口号的)
返回connected to 192.168.20.185:5555
连接成功之后在vsyor上能看到的是两个一个是物理连接(Usb连接)的名称,另一个是WiFi连接的名称
6.断开连接 adb disconnect 192.168.20.185:5555
返回disconnected 192.168.20.185:5555
7.此刻查找adb devices 就只返回的是物理连接的了设备名称了
8.或者adb shell 进入adb shell命令下
ifconfig |grep Mask 设备本身的ip和Mac
9.打印设备/模拟器上的所有软件包
不使用参数:adb shell pm list packages使用参数: adb shell pm list packages | grep com
10.卸载程序
adb uninstall com.albertech.vehwechat