ADB调试TP常用命令

时间:2024-04-17 15:15:10

ADB调试TP常用命令

https://blog.****.net/Clayton12321/article/details/87894749

 

adb打开 开发者选项->输入 调试选项
adb模拟输入事件
adb获取/更改屏幕休眠时间
adb获取/更改当前亮度值
adb打开 开发者选项->输入 调试选项
在拿到板子点亮屏后,调TP时想看效果,但移植的驱动的TP效果参数一般不是优化过的,可以通过以下两种方式打开Show taps和Pointer location([显示点按操作反馈]和[指针位置]):

调TP前先调通USB OTG功能,然后用USB鼠标打开;
通过以下adb命令快速打开:
adb shell settings put system show_touches 1
adb shell settings put system pointer_location 1

这里用到了settings的属性键值对,支持get和put操作。例如后面介绍的屏幕休眠时间和当前亮度查询更改命令。

adb模拟输入事件
下面列举几个常用的调试命令,如adb模拟电源按键、adb模拟Home键、adb模拟滑动事件等:

usage:
input text <string>
input keyevent <key code number or name>
input tap <x> <y>
input swipe <x1> <y1> <x2> <y2>

adb shell input keyevent 26 //电源键
adb shell input keyevent 3 //home键
adb shell input swipe 100 100 200 200 300 //从 100 100 经历300毫秒滑动到 200 200

KEYCODE_POWER=26;
KEYCODE_VOLUME_UP=24;
KEYCODE_VOLUME_DOWN=25;

KEYCODE_BACK=4;
KEYCODE_HOME=3;
KEYCODE_MENU=82;
//其它keycode可参考 frameworks/base/core/res/res/values/attrs.xml

adb获取/更改屏幕休眠时间
下面命令过去当前灭屏时间,并设置灭屏时间为1小时(600000s)

adb shell settings get system screen_off_timeout
adb shell settings put system screen_off_timeout 600000

adb获取/更改当前亮度值
adb shell settings get system screen_brightness
adb shell settings put system screen_brightness 150

最后补充两篇调试TP不错的博文链接
https://blog.****.net/encourage2011/article/details/52214134
https://blog.****.net/jkzrc/article/details/18549957

===============

tasker支持的shell 命令大全

https://www.jianshu.com/p/d19573d093f9

 

新版本微信6.6.7,打开指定联系人,

 com.tencent.mm/com.tencent.mm.ui.chatting.ChattingUI --es Chat_User %par1 

 

微信一键进入发文字朋友圈界面(自动养号发朋友圈用)

 com.tencent.mm/com.tencent.mm.plugin.sns.ui.SnsUploadUI --ei Ksnsupload_type 9 --ei sns_comment_type 1 --ez KSnsPostManu true 

 

支付宝开网页(自动领取支付宝每日红包用):

tasker-》启动应用-》支付宝

数据栏填写下面内容:

 alipays://platformapi/startApp?appId=10000007&sourceId=xiaomiScan&actionType=route&qrcode=

https://qr.alipay.com/c1x05664q9tgbyjfpgkmg1e

淘宝开网页

 com.taobao.taobao/com.taobao.browser.BrowserActivity -d "%par1 "

 

京东金融开网页

am start -n com.jd.jrapp/.ver2.common.web.WebActivity -e WEBURL "%par1 "

 

京东购物客户端开网页

am start -n com.jingdong.app.mall/.WebActivity -e url %par1

 

常见微信id:(配合微信打开指定联系人

am start -n com.tencent.mm/com.tencent.mm.ui.chatting.En_5b8fbb1e -e Chat_User )

微信运动:gh_43f2581f6fd6 Tasker转发短信到微信(http post方式,无需任何第三方插件

已经做好的配置文件下载地址:https://pan.baidu.com/s/1hr7MVAk

主要内容,http post配置:

服务器(端口号):

https://pushbear.ftqq.com/sub

数据/文件(参数par1和par2可以通过任务调用传入,可以是短信内容等任何需要的内容):sendkey=1784-36339d61de9eee04dee1130f3c82fbf1&desp=%par2&text=%par1

内容类型(注意这里很关键):application/x-www-form-urlencoded;charset=UTF-8

目前sendkey是我创建的tasker群免费公开通道,需要更多自定义可以联系thq3322110@gmail.com

要收到微信内容,需要扫码关注下面的内容(消息通过公众号,发送到关注者的微信上,需要微信自动同时通知多人,可以让多人都扫码关注):

 

以上内容更新时间:2017年12月19日

tasker转发短信到邮件(http post方式,无需任何第三方插件)关键内容如下:(注意自己将短信内容关键字屏蔽,如银行卡、手机尾号等,可以用变量搜索替换方式替换位特殊字符---)

一、添加配置事件

按以下路径操作:

Tasker -> 添加配置文件 -> 事件 -> 电话 -> 收到短信

返回会弹出进入任务的选项框,选择新建任务,如果已有任务也可以直接选择已创建好的任务绑定即可。

二、新建任务

1.新任务名称:smsToMail

2.点击 + 添加操作 -> 网络 -> HTTP POST

HTTP POST配置

1.服务器端口:www.achoc.com

说明:可以是IP也可以是解析的域名,不能带http、斜线什么的,否则无法适配

2.路径:api/smstomail.asp

说明:这里是接口路径

3.内容类型(Content Type):application/x-www-form-urlencoded;charset=utf-8

说明:选择不同的内容类型直接影响数据传递参数的不同方式,添加utf-8是为了保持和服务器一致以免出现乱码

4.数据/文件:mode=sms&smsrn=%SMSRN&smsrf=%SMSRF&smsrb=%SMSRB&smsrd=%SMSRD&smsrt=%SMSRT&tomail=10000@qq.com

说明:这是form POST数据封装结构,根据内容类型配置而决定;

数据结构说明:

mode=sms (sms模式 保持不变)

smsrn=%SMSRN (发件人姓名 保持不变)

smsrf=%SMSRF (发件人号码 保持不变)

smsrb=%SMSRB (短信内容 保持不变)

smsrd=%SMSRD (发件日期 保持不变)

smsrt=%SMSRT (发件时间 保持不变)

tomail=10000@qq.com (要发送到的邮箱 这里修改为你自己的邮箱)

5.其余配置选项不用填写默认为空即可,返回上级自动保存,如自己有网站开发能力可以将接口修改为自己的接口。

详细内容请参考

http://www.gxchina.com/edu/11217.html

以上更新时间:2017年12月19日

tasker开启屏幕录像(关键字 tasker shell 屏幕录像 录屏 截屏 截图 screenrecord )

su

screenrecord --time-limit 180 --bit-rate 1000000 --size 720x480 %par1

参数解释:--time-limit 180;最长时长180秒,范围1-180,不写默认位180

--bit-rate 1000000;比特率,1M;默认4000000,4M;

--size 720x480;视频分辨率大小,如果不指定默认使用手机的分辨率,为获得最佳效果

%par1 为输出路径,比如/sdcard/录制.mp4

更多请参考http://blog.****.net/rjdeng/article/details/50760235

更新日期:2017年12月15日

tasker检测来电是否为来电转移来电?

1.安装xposed插件Diverted call detector,下载地址http://dl-xda.xposed.info/modules/ch.masshardt.divertedcall_v2_fffa9b.apk 请自行确保已启用

2.tasker添加事件-》系统-》收到的意图-》操作,填入ch.masshardt.divertedcall.STATE_CHANGED

3.执行任务中,可以使用下面3个局部变量

状态 %state

号码 %number

姓名 %contact_name

(说明:米6,miui9无法接收到该意图,目前原因未知。能否用,请自测)

以上更新时间:2017.12.06

tasker内置隐藏的局部变量:

具体参考https://www.rorycodes.com/tasker-tip-tuesdays-local-built-in-variables/

%errmsg

任务执行失败的文字描述

%qtime

当前任务已经执行耗时(秒)

%wifi_state

wifi热点状态值,具体参考http://www.cnblogs.com/thq3322110/p/6397156.html

%evtprm

参考下面的内容

tasker获取微信通知栏详情:

%evtprm是部分事件触发的任务,都可以使用的tasker内置局部变量

所有任务都可以访问这个局部变量,有没有值就看tasker本身有没有给这个变量赋值。

新建微信通知栏事件,执行任务中,%evtprm这个变量(实际是个数组)存储了该次通知事件的所有详细内容,具体自己研究。

以上内容10月26日更新

自动输入锁屏密码,可以通过shell input text 密码方式实现,注意手机配置自动显示锁屏密码和密码正确自动解锁,MIUI9可用

隐藏导航栏

settings put global policy_control immersive.navigation=*

恢复导航栏

settings put global policy_control null

以上内容10月24日更新

安卓7下,清除锁屏密码、pin、指纹、滑动解锁等,可以使用secureTask

安卓7下secure setting、es文件管理器无法获取root权限的解决:

用re文件管理器,将/su/bin/su文件创建链接,放到system/xbin目录下即可

miui中shell命令,勾选了root,但是执行失败?

在一个shell动作的第一行,写 su

换行在写具体命令即可

微信打开指定联系人(%par1 可以是微x获取的“微信id”,也可以是微信好友的“微信号”,微信版本6.5.10有效,其他未测试)

am start -n com.tencent.mm/com.tencent.mm.ui.chatting.En_5b8fbb1e -e Chat_User %par1

支付宝扫一扫

am start -n com.eg.android.AlipayGphone/com.alipay.mobile.scan.as.main.MainCaptureActivity

微信扫一扫

am start -n com.tencent.mm/com.tencent.mm.plugin.scanner.ui.BaseScanUI

 

微信搜索

am start -n com.tencent.mm/com.tencent.mm.plugin.search.ui.FTSMainUI

 

注意am start -n xxxxx/webview -e weburl http://www.baidu.com 这类用法时,有时候需要将http://www.baidu.com用双引号扩起来,才能正常打开

 

以上内容更新时间:2017年9月7日

参考

http://www.notenoughtech.com/tasker/tasker-run-shell-commands/

罗列所有系统配置项

settings list systemsettings list globalsettings list secure

以下是双卡管理(每个系统命令可能不一样,具体通过

settings list global|grep multi

settings list global|grep _data

类似这样的命令查询

settings put global mobile_data1 0(或者1)//开关卡1数据

settings put global mobile_data2 0(或者1)//开关卡2数据

settings put global user_preferred_data_sub 1(或者2)//使用卡1还是卡2数据

settings put global mobile_data 0(或者1)

settings put global multi_sim_data_call 1(或者2)//使用卡1还是卡2拨号

settings put global multi_sim_sms 1(或者2)//使用卡1或者卡2发短信

stop ril-daemon

start ril-daemon

stop ril-daemon1

start ril-daemon1

stop ril-daemon2

start ril-daemon2

settings put system switch_dual_card_slots 0/1

settings put global multi_sim_voice_call_slot

settings put global multi_sim_data_call_slot

settings put Global Config_current_primary_sub 0/1

am broadcast -a android.intent.action.SUB_DEFAULT_CHANGED

content://telephony/siminfo

以上内容更新2017年8月11日 (未整理)

 

1.获取触摸球状态

settings get system show_touches

显示触摸球(1显示,0关闭)

settings put system show_touches 1

2.获取触摸点坐标

settings get system pointer_location

是否显示触摸点坐标(1显示,0隐藏)

settings put system pointer_location 1

3.京东金融签到页面

am start -n com.jd.jrapp/com.jd.jrapp.ver2.common.web.WebActivity -es WEBURL

https://m.jr.jd.com/spe/shake/checkin/index.html

 

以上内容更新时间2017年8月10日 

 

在塔斯克运行shell命令大全(需要root权限):

1.如果手机已经root,但是tasker检查不到root,请安装supersu,仅需安装不需要激活

2.停用开发者模式里面的“hw叠加层”,据说可以加快手机反应速度,注意重启后会自动关闭,所以建议建立开机任务

service call SurfaceFlinger 1008 i32 1

3.切换selinux,关闭selinux的话,很多破解软件就能安装了

setenforce 0  (关闭)

setenforce 1  (开启)

4.修改设备id(一般用于刷机后,恢复之前的设备id,防止微信数据还原后,需要新手机登录验证)

settings put secure android_id 16e123123123123123123    (设置为16e123123123123123123)

settings get secure android_id            (获取设备id)

 

5.tasker获取网页xml时防止卡住其他任务,建议使用curl,(tasker自带HTTPget,httppost网络连接不成功时,会卡住整个tasker执行,curl不会)

curl www.baidu.com

输出存储到变量%ret,%ret即网页内容

如果要带cookies,加参数就行,举例

curl -b 哈哈哈我是cookies内容 www.baidu.com

6.微信中打开网页(可以用作公众号自动签到类)(关键字 tasker open url with wechat 微信 网页 url)

am start -n com.tencent.mm/com.tencent.mm.plugin.webview.ui.tools.WebViewUI -d http://www.baidu.com

 

7.手机qq中打开网页(可以用作公众号自动签到类)(关键字 tasker open url with qq 网页 url)

am start -n com.tencent.mobileqq/.activity.QQBrowserDelegationActivity --es url http://www.baidu.com

 

以上内容更新时间2017年7月25日 12:48:39

 

启动程序

am start -n 包名/包名+类名(-n 类名,-a action,-d date,-m MIME-TYPE,-c category,-e 扩展数据,等)。

 

pm list packages 列出所有应用

 

飞行模式开/关

settings put global airplane_mode_on 1; am broadcast -a android.intent.action.AIRPLANE_MODE --ez state true

settings put global airplane_mode_on 0; am broadcast -a android.intent.action.AIRPLANE_MODE --ez state false

 

开/关移动数据

svc data enable

svc data disable

 

检查文件夹是否存在(1 =无0 = YES)

[ -d /sdcard/DCIM/Camera/ ] &amp;amp;&amp;amp; echo 1 || echo 0

存储输出%变量

 

提取ZIP文件(文件%)

unzip %file /sdcard/

 

移动文件,复制文件

mv /original/path /new/path

cp /original/path /new/path

 

删除文件,删除文件夹

rm /path/to/file

rm -r /path/to/folder

 

读文件,写变量(%VAR)到文件

cat /path/to/file

echo %var &gt; /path/to/file

存储输出%变量

 

制造商/系统可重写,使系统只读

mount -o remount,rw /system

mount -o remount,ro /system

 

更改文件权限(/系统/ etc / hosts文件为例)文件权限类型(7 = RWX; 6 = RW; 4 = R)(CHMOD(根:组;用户))

chmod 644 /system/etc/hosts

 

检查文件的md5sum

md5sum /path/to/file

 

检查进程正在运行(返回过程或空)

pgrep -x com.package.name(修改为pgrep -f program_name 列出进程名为 program_name 的ID 2017年2月14日 15:36:56)

存储输出%变量

 

停止当前下载

am force-stop com.android.providers.downloads

pm clear com.android.providers.downloads

 

杀死一个应用程序(例子:chrome浏览器)

am force-stop com.android.chrome

 

重新启动系统UI

pkill -l TERM -f com.android.systemui

 

重启,重启恢复

svc power reboot

svc power reboot recovery

 

截图到SD卡

screencap -p /sdcard/screengrab.png

 

检查键盘输出(1 =无0 = YES)

cat /proc/$(pgrep com.touchtype.swiftkey)/oom_adj

存储输出%变量

 

IP检测(-c计数,-i间隔-s PACKETSIZE,-t TTL = XXX IP)

ping -c 3 xxx.xxx.xxx.xxx

存储输出%变量

 

储存最后输入坐标

getevent -lc 3 /dev/input/event1 | grep ABS_MT_POSITION_.

存储输出%变量

 

模拟用户的击键输入

input tap X Y

 

模拟用户长按输入(持续时间250)

input swipe X1 Y1 X1 Y1 250

 

模拟文本输入

input text sampletext

 

模拟用户划屏(Z =时长)

input swipe X1 Y1 X2 Y2 Z

 

模拟特定键(例子:返回)

input keyevent 4

 

KeyEvent名单:

0 --> "KEYCODE_UNKNOWN"

1 --> "KEYCODE_MENU"

2 --> "KEYCODE_SOFT_RIGHT"

3 --> "KEYCODE_HOME"

4 --> "KEYCODE_BACK"

5 --> "KEYCODE_CALL"

6 --> "KEYCODE_ENDCALL"

7 --> "KEYCODE_0"

8 --> "KEYCODE_1"

9 --> "KEYCODE_2"

10 --> "KEYCODE_3"

11 --> "KEYCODE_4"

12 --> "KEYCODE_5"

13 --> "KEYCODE_6"

14 --> "KEYCODE_7"

15 --> "KEYCODE_8"

16 --> "KEYCODE_9"

17 --> "KEYCODE_STAR"

18 --> "KEYCODE_POUND"

19 --> "KEYCODE_DPAD_UP"

20 --> "KEYCODE_DPAD_DOWN"

21 --> "KEYCODE_DPAD_LEFT"

22 --> "KEYCODE_DPAD_RIGHT"

23 --> "KEYCODE_DPAD_CENTER"

24 --> "KEYCODE_VOLUME_UP"

25 --> "KEYCODE_VOLUME_DOWN"

26 --> "KEYCODE_POWER"

27 --> "KEYCODE_CAMERA"

28 --> "KEYCODE_CLEAR"

29 --> "KEYCODE_A"

30 --> "KEYCODE_B"

31 --> "KEYCODE_C"

32 --> "KEYCODE_D"

33 --> "KEYCODE_E"

34 --> "KEYCODE_F"

35 --> "KEYCODE_G"

36 --> "KEYCODE_H"

37 --> "KEYCODE_I"

38 --> "KEYCODE_J"

39 --> "KEYCODE_K"

40 --> "KEYCODE_L"

41 --> "KEYCODE_M"

42 --> "KEYCODE_N"

43 --> "KEYCODE_O"

44 --> "KEYCODE_P"

45 --> "KEYCODE_Q"

46 --> "KEYCODE_R"

47 --> "KEYCODE_S"

48 --> "KEYCODE_T"

49 --> "KEYCODE_U"

50 --> "KEYCODE_V"

51 --> "KEYCODE_W"

52 --> "KEYCODE_X"

53 --> "KEYCODE_Y"

54 --> "KEYCODE_Z"

55 --> "KEYCODE_COMMA"

56 --> "KEYCODE_PERIOD"

57 --> "KEYCODE_ALT_LEFT"

58 --> "KEYCODE_ALT_RIGHT"

59 --> "KEYCODE_SHIFT_LEFT"

60 --> "KEYCODE_SHIFT_RIGHT"

61 --> "KEYCODE_TAB"

62 --> "KEYCODE_SPACE"

63 --> "KEYCODE_SYM"

64 --> "KEYCODE_EXPLORER"

65 --> "KEYCODE_ENVELOPE"

66 --> "KEYCODE_ENTER"

67 --> "KEYCODE_DEL"

68 --> "KEYCODE_GRAVE"

69 --> "KEYCODE_MINUS"

70 --> "KEYCODE_EQUALS"

71 --> "KEYCODE_LEFT_BRACKET"

72 --> "KEYCODE_RIGHT_BRACKET"

73 --> "KEYCODE_BACKSLASH"

74 --> "KEYCODE_SEMICOLON"

75 --> "KEYCODE_APOSTROPHE"

76 --> "KEYCODE_SLASH"

77 --> "KEYCODE_AT"

78 --> "KEYCODE_NUM"

79 --> "KEYCODE_HEADSETHOOK"

80 --> "KEYCODE_FOCUS"

81 --> "KEYCODE_PLUS"

82 --> "KEYCODE_MENU"

83 --> "KEYCODE_NOTIFICATION"

84 --> "KEYCODE_SEARCH"

85 --> "TAG_LAST_KEYCODE"

 

获取电池省电配置文件状态/启用/禁用

settings get global low_power

settings put global low_power 1

settings put global low_power 0

 

Greenify打盹启用/禁用

am stopservice com.oasisfeng.greenify/.DozeService

pm disable com.oasisfeng.greenify/.DozeService

pm enable com.oasisfeng.greenify/.DozeService

am startservice com.oasisfeng.greenify/.DozeService

 

显示您的电池电量,健康和温度(输出需求格式化)

dumpsys battery | grep health

dumpsys battery | grep temperature

存储输出%变量

 

Wi-Fi(扫描总是可用)ON / OFF

settings put global wifi_scan_always_enabled 1

settings put global wifi_scan_always_enabled 0

 

调整屏幕和复位

wm overscan 150,750,0,0

wm overscan reset

 

查询的Wi-Fi(扫描总是可用)状态

settings get global wifi_scan_always_enabled

存储输出%变量

 

查询当前已启用位置提供商

settings get secure location_providers_allowed

存储输出%变量

 

查询启用无障碍服务

settings get secure enabled_accessibility_services

存储输出%变量

 

查询启用通知监听器

settings get secure enabled_notification_listeners

存储输出%变量

 

启用一项辅助服务(例子:自动输入)

settings get secure enabled_accessibility_services

存储输出%变量:

settings put secure enabled_accessibility_services %Variable:com.joaomgcd.autoinput/com.joaomgcd.autoinput.service.ServiceAccessibility

 

启用通知监听器(AutoNotification例子)

settings get secure enabled_notification_listeners

存储输出%变量:

settings put secure enabled_notification_listeners %Variable:com.joaomgcd.autonotification/com.joaomgcd.autonotification.service.ServiceNotificationIntercept

 

切换3g4g

 adb shell su -c \'am broadcast -a gravitybox.intent.action.CHANGE_NETWORK_TYPE --ez networkType 1\'

Open tasker

Create a new task - misc - send intent

Paste the following into the action box: "gravitybox.intent.action.CHANGE_NETWORK_TYPE"

Paste the following into the extra box:

"networkType:2"

The above will switch to3g. Change the 2 as per below as required.

0 - 2G/3G auto (3G preferred)

1 - 2G

2 - 3G

9 (or 10) - LTE

 

// NETWORK_MODE_* See ril.h RIL_REQUEST_SET_PREFERRED_NETWORK_TYPEintNETWORK_MODE_WCDMA_PREF=0;// GSM/WCDMA (WCDMA preferred)intNETWORK_MODE_GSM_ONLY=1;// GSM onlyintNETWORK_MODE_WCDMA_ONLY=2;// WCDMA onlyintNETWORK_MODE_GSM_UMTS=3;// GSM/WCDMA (auto mode, according to PRL)**intNETWORK_MODE_CDMA=4;// CDMA and EvDo (auto mode, according to PRL)**intNETWORK_MODE_CDMA_NO_EVDO=5;// CDMA onlyintNETWORK_MODE_EVDO_NO_CDMA=6;// EvDo onlyintNETWORK_MODE_GLOBAL=7;// GSM/WCDMA, CDMA, and EvDo (auto mode, according to PRL)**intNETWORK_MODE_LTE_CDMA_EVDO=8;// LTE, CDMA and EvDointNETWORK_MODE_LTE_GSM_WCDMA=9;// LTE, GSM/WCDMAintNETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA=10;// LTE, CDMA, EvDo, GSM/WCDMAintNETWORK_MODE_LTE_ONLY=11;// LTE Only mode.intNETWORK_MODE_LTE_WCDMA=12;// LTE/WCDMAintNETWORK_MODE_TDSCDMA_ONLY=13;// TD-SCDMA onlyintNETWORK_MODE_TDSCDMA_WCDMA=14;// TD-SCDMA and WCDMAintNETWORK_MODE_LTE_TDSCDMA=15;// TD-SCDMA and LTEintNETWORK_MODE_TDSCDMA_GSM=16;// TD-SCDMA and GSMintNETWORK_MODE_LTE_TDSCDMA_GSM=17;// TD-SCDMA,GSM and LTEintNETWORK_MODE_TDSCDMA_GSM_WCDMA=18;// TD-SCDMA, GSM/WCDMAintNETWORK_MODE_LTE_TDSCDMA_WCDMA=19;// TD-SCDMA, WCDMA and LTEintNETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA=20;// TD-SCDMA, GSM/WCDMA and LTEintNETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA=21;// TD-SCDMA,EvDo,CDMA,GSM/WCDMAintNETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA=22;// TD-SCDMA/LTE/GSM/WCDMA, CDMA, and EvDo

Send Intent [

Action: gravitybox.intent.action.CHANGE_NETWORK_TYPE

Cat: None

Mime Type:

Data:

Extra: networkType:1

Extra:

Package:

Class:

Target: Broadcast Receiver]

networkType enum values are:

0: WCDMA Preferred

1: GSM only <-- This would be "2G" on GSM networks

2: WCDMA only <--WCDMA is "3G" on GSM networks. You may know it as HSPA

3: GSM auto (PRL)

4: CDMA auto (PRL)

5: CDMA only <-- This would be "2G" on CDMA networks

6: EvDo only <-- EvDo is "3G" on CDMA networks

7: GSM/CDMA auto (PRL)

8: LTE/CDMA auto (PRL)

9: LTE/GSM auto (PRL)

10: LTE/GSM/CDMA auto (PRL)

11: LTE only

12: "unknown"

 

settings put global preferred_network_mode 1

settings put global preferred_network_mode 9

settings put global preferred_network_mode1 9

settings put global preferred_network_mode2 9

setenforce permissive;svc data disable;setenforce enforcing

 

============ End