adb设置后台运行不结束
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了adb设置后台运行不结束相关的知识,希望对你有一定的参考价值。
不知道有多少人厌烦这个不老实的“小而简的绿色聊天软件”为了保活而常驻后台。明明是一个互联网聊天软件,为什么要无时无刻不占用我手机资源?我的手机我做主。
通常情况下,root后,使用后台管理软件配合写轮眼切断唤醒途径,就能解决掉几乎所有软件的自起问题。唯独微信的CoreService这一服务总是能在没有收到任何系统广播的时候自己唤醒,也不知道是怎么实现的。
临时解决的方案:
相信不少人误打误撞试过手机系统设置中【开发者选项】里的【后台进程限制】,选1234都可以避免微信CoreService复活。
但这一选项重启失效,需要每次开机都手动设置一次。
根治的解决方案:
不保证所有手机都适用
0、在电脑上下载并解压adb
https://dl.google.com/android/repository/platform-tools-latest-windows.zip
1、手机【开发者选项】里开启【ADB调试】
2、手机【开发者选项】里手动选择一次【后台进程限制】(1234都行)后改回“标准限制”。
3、USB连接电脑,电脑打开cmd,切换(cd C:\xxx\xxx)到ADB的文件夹,输入命令adb devices,确保ADB可以成功找到手机。(ADB基本使用方法请百度)
4、输入ADB命令:
adb shell settings put global activity_manager_constants max_cached_processes=4
在不同版本的安卓上,此命令可能稍有不同。如果执行不成功,请参考评论区~
(这一限制和同时开了多少个软件无关,通常无需担心多开软件的问题)
限制后台进程为4个
5、输入ADB命令:
adb shell dumpsys activity settings
查看一下当前限制数量是不是变成了4
CUR_MAX_CACHED_PROCESSES即“后台进程限制”功能
此时,开发者选项里的“后台进程限制”仍显示为“标准限制”是正常现象。
解释说明:开发者选项中更改的是mOverrideMaxCachedProcesses=4,
随后会自动覆写到CUR_MAX_CACHED_PROCESSES=4。
而此处直接更改CUR_MAX_CACHED_PROCESSES=4。
6、杀掉微信进程,等一会看看它是不是安分了
(如果还自起,请使用写轮眼MyAndroidTools关闭微信的所有广播接收器,需要root)
可以使用adb命令查看进程列表以检查微信是否复活。非必需。
(adb shell 回车,出现手机名之后 ps -A |grep tencent,出现com.tencent.mm说明已启动)
7、重启手机,使用 第5步 的ADB命令检查CUR_MAX_CACHED_PROCESSES数量是否变化,没变则ok,变了或者多出一行mOverrideMaxCachedProcesses说明你的手机系统被厂商魔改太严重,不适用于此方法。
至此,完成。如果有帮上你,点个赞吧。
日后如果想恢复,
adb shell settings put global activity_manager_constants max_cached_processes=数字
数字填写16,32,48、64、128、192等等都可以,反正本来手机厂商也都随便填的。 参考技术A 第一个你进去设置一下,这个就是关联启动的华为荣耀6禁止应用自启动/唤醒开发者选项不允许后台进程取消app系统权限 LINKS 通过adb
adb常用命令食用方法
一、什么是adb?
adb是Android Debug Bridge的缩写,即安卓调试桥;那什么是安卓调试桥?简单来说,就是一个通用命令行工具,允许计算机与模拟器或连接的安卓设备之间进行通信,提供各种便利。
adb是一个客户端-服务器程序,包括三个组件:
客户端:在计算机上运行。在终端通过命令行调用adb
后台程序:在模拟器或安卓设备上作为后台进程运行,在设备上执行命令
服务器:服务器在计算机上作为后台进程运行,管理客户端和后台程序之间的通信
官方参考资料:https://developer.android.google.cn/studio/command-line/adb.html
二、adb工具下载
仓库备份有windows 64位的adb工具,版本 Android Debug Bridge version 1.0.41
仓库链接:https://gitee.com/shengtudai/adb.git 其它版本自行百度
三、运行adb
解压工具包,在终端通过命令行调用adb工具,如解压路径为C:\\adb
用cd命令进入目录
cd C:/adb
在设备的开发者选项里打开usb调试开关,或进入Recovery,再连接计算机,输入如下命令查找设备
adb devices
若输出List of devices attached,则识别到设备
四、adb常用命令及功能
1.安装软件
adb install -r path_to_apk
注:-r 为强制替换原来软件
2.卸载软件
adb uninstall -k --user 0 com.tencent.mm // com.tencent.mm 就是微信的安装包名
注:卸载软件需要通过包名卸载;-k为卸载但保留数据,一般不加; --user
指定用户 id
,Android 系统支持多个用户,默认用户只有一个,id=0。该命令可免root卸载系统预装软件
3.获取应用包名
上面讲到,卸载软件需要通过包名卸载,如何获取包名呢?
①.列出所有包名,找到最像的那个
adb shell
pm list packages
②.在设备上打开需要获取包名的软件,保持在前台运行,输入如下命令
dumpsys window | grep mCurrentFocus
这里 window{ }
中就是这个界面的包名类名,包名就是:com.tencent.mm
4.截图和录屏
adb shell screencap /sdcard/screen.png
adb shell 在设备运行脚本命令
screencap 截屏命令
/sdcard/screen.png 截图保存路径
adb shell screenrecord --size 1920x1080 --time-limit 100 /sdcard/demo.mp4 adb shell 在设备运行脚本命令 screenrecord 录制视频命令 --size 1920x1080 widthxheight 设置视频大小 --time-limit 100 设置最大录制时长(以秒为单位)。默认值和最大值均为 180(3 分钟)。 按 Control + C 停止屏幕录制
注:
screenrecord 选项说明
--help显示命令语法和选项
--size widthxheight设置视频大小:1280x720。默认值是设备的原生显示分辨率(如果支持),如果不支持,则使用 1280x720。为实现最佳结果,请使用设备的 Advanced Video Coding (AVC) 编码器支持的大小。
--bit-rate rate设置视频的视频比特率(以兆比特每秒为单位)。默认值为 4Mbps。您可以增加比特率以提升视频质量,但这么做会导致影片文件变得更大。以下示例将录制比特率设为 6Mbps:screenrecord --bit-rate 6000000 /sdcard/demo.mp4
--time-limit time设置最大录制时长(以秒为单位)。默认值和最大值均为 180(3 分钟)。
--rotate将输出旋转 90 度。此功能是实验性的。
--verbose显示命令行屏幕上的日志信息。如果您不设置此选项,则运行时此实用程序不会显示任何信息。
5.将文件复制到设备/从设备复制文件
要从模拟器或设备复制文件或目录
adb pull remote local
要将文件文件或目录(及其子目录)复制到模拟器或设备
adb push local remote
注:local 和 remote 指的是开发计算机(本地)和模拟器/设备实例(远程)上目标文件/目录的路径
以上是关于adb设置后台运行不结束的主要内容,如果未能解决你的问题,请参考以下文章