打印 上一主题 下一主题

SD5360-660-M1麦当劳

[复制链接]
楼主: King

67

主题

695

帖子

5382

积分

超级版主

Rank: 8Rank: 8

积分
5382
11#
 楼主| 发表于 2023-1-17 09:35:49 | 只看该作者
本帖最后由 King 于 2024-10-25 10:44 编辑

按行解析,以这种形式
white_list.txt
com.mcdonalds.sok.cn
com.mcdonalds.sok.cn.dev
com.mcdonalds.rom.test
再就是 我们内置那几个包名。
新增的话,远程添加,远程添加,你们是通过 远程app,接收白名单,发广播的形式么?
一个做到系统里面,一个做到data分区里面。action加到data里面去。io.appium.uiautomator2.server.test
io.appium.uiautomator2.server
io.appium.settings

adb shell am broadcast -a cn.mcd.system_pkg.setting_action --es install_pwd "520*#06#Mcd"(20240627,去掉广播修改白名单密码)
广播口令验证adb shell am broadcast -a cn.mcd.system_pkg.setting_action --es install_pwd "520*#06#Mcd" --es install_pkg ""
sadb shell am broadcast -a cn.mcd.system_pkg.setting_action --es install_pwd "520*#06#Mcd" --es install_pkg "ua.com.streamsoft.pingtools"
sadb shell am broadcast -a cn.mcd.system_pkg.setting_action --es install_pwd "520*#06#Mcd" --es install_pkg "com.ayst.stresstest"
sadb shell am broadcast -a cn.mcd.system_pkg.setting_action --es install_pwd "520*#06#Mcd" --es install_pkg "com.ccl.factoryapp"

adb shell am broadcast -a cn.mcd.system_pkg.setting_action --es install_pwd "520*#06#Mcd" --es install_pkg "com.ccl.updater"
adb shell am broadcast -a cn.mcd.system_pkg.setting_action --es install_pwd "520*#06#Mcd" --es install_pkg "com.tananaev.logcat"

io.appium.uiautomator2.server.test
io.appium.settings
io.appium.uiautomator2.server
{}{}{}{}{}
if [[ $(adb shell dumpsys window | grep mCurrentFocus) != *"com.ccl.factoryapp"* ; then adb shell monkey -p com.ccl.factoryapp -c android.intent.category.LAUNCHER 1; fi



#!/bin/bash

# 获取顶层应用包名
TOP_APP=$(adb shell dumpsys window | grep mCurrentFocus | cut -d'/' -f1 | rev | cut -d' ' -f1 | rev)

# 目标应用包名
TARGET_APP="com.ccl.factoryapp"

# 检查是否是目标应用
if [[ $TOP_APP != *"$TARGET_APP"* ]]; then
    echo "目标应用不在前台,正在启动..."
    # 启动应用
    adb shell monkey -p $TARGET_APP -c android.intent.category.LAUNCHER 1
else
    echo "目标应用已在前台运行"
fi


  • 如果需要获取应用的启动Activity,可以使用:
bash
adb shell dumpsys package com.ccl.factoryapp | grep -A 1 "android.intent.action.MAIN:"


  • 然后用 am start 命令启动具体Activity:
bash
adb shell am start -n com.ccl.factoryapp/com.ccl.factoryapp.MainActivity



  • 如果需要循环检测,可以加入while循环:
bash
while truedo    TOP_APP=$(adb shell dumpsys window | grep mCurrentFocus | cut -d'/' -f1 | rev | cut -d' ' -f1 | rev)    if [[ $TOP_APP != *"com.ccl.factoryapp"* ]]; then        echo "重新启动应用..."        adb shell monkey -p com.ccl.factoryapp -c android.intent.category.LAUNCHER 1    fi    sleep 5  # 每5秒检查一次done


monkey命令可能会产生随机事件,生产环境建议使用 am start
{}{}{}{}{}{}{}{}

包名添加
/system/etc/white_list.txt

/data/custom/white_list.txt

麦当劳应用每1分钟自己拉向顶层一次,系统检测后台没有麦当劳进程也会拉起麦当劳进程
(1)、BOOT COMPLETED对应的action和uses-permission没有一起添加需要三方应用在AndroidManifest.xml 中写入2)、应用安装到了sd卡内,安装在sd卡内的应用是收不到BOOT COMPLETED广播的.(概率出现)(3)、对于android3.1以后版本,如果要应用接收开机广播有两种方法:a).将应用预置到/system/app/目录。
b).安装应用后先启动一次,适用于有Activity的应用
注释:
)OT COMPLETED这个广播比特殊,预置到system/app下面的aok才会通过android intent action.BOOT COMPLETED来开机自
而预置到data/app.vendor/app下面的三方apk,若安装从来没有启动过和被用户手动强制停止它就是处于“stopped state"此应用的信息保存在/datalsystem/users/0/package-restictions.xml中),它的接收器将会无法接收任何广播,无法开机之后自动启动。但是安装这个应用之后只要是有手动去点击下这个apk,下次开机就肯定是会自动启动起来的,也是接收这
个BOOT COMPLETED广播。
2、与此同时系统增加了2个Flag: FLAG INCLUDE STOPPED PACKAGES和FLAG EXCLUDE STOPPED PACKAGES,来标识人intent是否激活处于“stoppedstate”的应用
3、Google允许应用和和后台服务通过给广播intent设置
FLAG INCLUDE STOPPED PACKAGES来唤醒处于“stopped state"的程序,也就是用户自己写的广播inten可以控制这个机制,但是系统自带的广播intent默认都是FLAG EXCLUDE STOPPED PACKAGES,由于不能修改,所以就没法通过系统广播自启动了。
远程工具需要申请SU权限,su已改成ubiot
date 获取当前时间
设置时间
adb shell su 0 date -u 091512342023.56

[backcolor=rgba(0,0,0,var(--tw-bg-opacity))]adb shell su 0 date -u [MMDDhhmm[[CC]YY][.ss]]

其中,MM表示月份,DD表示日期,hh表示小时,mm表示分钟,CC表示世纪(通常为20),YY表示年份,.ss表示秒(可选)。
例如,要将时间设置为2023年9月15日12点34分56秒,你可以运行以下命令:
[backcolor=rgba(0,0,0,var(--tw-bg-opacity))][color=rgba(217,217,227,var(--tw-text-opacity))][backcolor=rgba(52,53,65,var(--tw-bg-opacity))][size=0.75]bashCopy code
adb shell su 0 date -u 091512342023.56


[backcolor=rgba(0,0,0,var(--tw-bg-opacity))]adb shell am broadcast -a android.intent.action.TIME_SET

这个命令会发送一个广播,模拟用户手动设置时间,从而触发系统检查并同步时间。请注意,这只是一种模拟,它不会自动确定时区。系统仍然需要有网络连接来自动同步时间,而且这个命令的效果可能因设备和Android版本而异。









回复 支持 反对

使用道具 举报

67

主题

695

帖子

5382

积分

超级版主

Rank: 8Rank: 8

积分
5382
12#
 楼主| 发表于 2023-3-9 10:59:52 | 只看该作者
本帖最后由 King 于 2024-10-25 10:51 编辑

adb shell am broadcast -a com.operation.debug --es debug_key "520*#06#Mcd" --es debug_pwd "xxxx"
修改运营调试密码为:520*#06#Mcd
默认密码ccl123456
点击事件,只支持触摸。其他输入设备不支持

状态栏隐藏方式为限制高度为0,修改动态开关状态栏后,需重启生效。判断应用不在前端,拉起到前端



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

67

主题

695

帖子

5382

积分

超级版主

Rank: 8Rank: 8

积分
5382
13#
 楼主| 发表于 2023-3-9 13:24:16 | 只看该作者
本帖最后由 King 于 2023-3-15 17:00 编辑

20230309版本
0.更新内置麦当劳版本
1. 开机启动后,cclup/远程  没有自启动,只有McDonald自启动了,需要点击一次之后再自启。
2.系统运维界面没有恢复,只能重启恢复限制,本身进入调试模式后,再次连点会laucher崩溃。
3.误触或进入debug界面后,未知密码或密码错误后,要有个返回桌面按钮,调整为中文<运维或>者<DevOps>~
4.麦当劳应用 应为内置可卸载,或者更新可覆盖,目前不可覆盖。因此最好设置为可卸载。
5.白名单添加失败,无法安装应用,
6.app 静默安装失效(白名单原因)


su 权限 换成了 ubiot
dumpsys package p > /sdcard/xxx.log远程控制用了系统的UID,所以要一起改,和系统保持一致,所以要添加64位的库
不一致,UID容易混掉,32位/64位的不能互用,我需要试试看。
回复 支持 反对

使用道具 举报

67

主题

695

帖子

5382

积分

超级版主

Rank: 8Rank: 8

积分
5382
14#
 楼主| 发表于 2023-3-21 16:45:34 | 只看该作者
与麦当劳确认的问题:
1,进程已经拉起,但麦当劳应用并未将自己拉到最前端
2.麦当劳后期会用什么方式推送远程升级。
已内置远程升级广播指令

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

67

主题

695

帖子

5382

积分

超级版主

Rank: 8Rank: 8

积分
5382
15#
 楼主| 发表于 2023-4-11 15:42:52 | 只看该作者
本帖最后由 King 于 2023-5-16 14:51 编辑

adb shell screencap /sdcard/screen.png
adb pull /sdcard/screen.png D:\ShortCut



cclup 与 cclremote 需要签名且 高版本才能覆盖安装。0104 McDonald 在签名版下有可能有画

adb shell am broadcast -a cn.mcd.system_pkg.op_debug --es switch on/off

打开调试模式
回复 支持 反对

使用道具 举报

67

主题

695

帖子

5382

积分

超级版主

Rank: 8Rank: 8

积分
5382
16#
 楼主| 发表于 2023-11-20 13:38:45 | 只看该作者
本帖最后由 King 于 2023-11-20 13:40 编辑

adb shell getprop | grep -E "ro.product.model|ro.build.display.id|ro.build.version.release|ro.sf.lcd_density|ro.build.version.release|ro.build.type"
一句指令 通查
回复 支持 反对

使用道具 举报

67

主题

695

帖子

5382

积分

超级版主

Rank: 8Rank: 8

积分
5382
17#
 楼主| 发表于 2024-1-3 11:25:38 | 只看该作者
端口占用查找进程
Open command prompt as admin

C:\WINDOWS\system32>netstat -ano | findstr :7895
*** Repeat step 2 until there are no more child process

C:\WINDOWS\system32>wmic process where (ParentProcessId=1091 ) get Caption,ProcessId

Caption ProcessId

cmd.exe 1328

2.a. C:\WINDOWS\system32>wmic process where (ParentProcessId=1328) get Caption,ProcessId

  Caption  ProcessId

  conhost.exe  1128
2.b. repeat this until no further child processes found

-- Then kill all child processes

C:\WINDOWS\system32>taskkill /F /PID 1128 SUCCESS: The process with PID 9500 has been terminated.





netstat -ano | findstr "5037"
wmic process where (ParentProcessId=20816) get Caption,ProcessId
回复 支持 反对

使用道具 举报

67

主题

695

帖子

5382

积分

超级版主

Rank: 8Rank: 8

积分
5382
18#
 楼主| 发表于 2024-1-16 10:50:54 | 只看该作者
要通过ADB设置Android设备的静态IP,可以按照以下步骤进行操作:

确保你的电脑已经安装了ADB工具,并且设备已经开启了USB调试模式。

连接设备到电脑,并在命令行终端中输入以下命令来获取当前网络设置:

adb shell settings get global dhcp_eth0
如果返回值为“1”,表示设备当前使用动态IP地址。如果返回值为“0”,表示设备当前使用静态IP地址。
3. 如果设备当前使用动态IP地址,可以通过以下命令将其设置为静态IP地址:

arduino
adb shell settings put global dhcp_eth0 0
接下来,你需要手动配置静态IP地址。首先,通过以下命令查看物理网卡名称:

bash
adb shell ifconfig
通常,物理网卡名称是“eth0”。
5. 使用以下命令配置IP和子网掩码:

bash
adb shell ifconfig eth0 <IP地址>/<子网掩码位数> up
请将“<IP地址>/<子网掩码位数>”替换为你想要设置的静态IP地址和子网掩码。例如,如果你的静态IP地址为192.168.1.111,子网掩码为24位,则命令如下:

arduino
adb shell ifconfig eth0 192.168.1.111/24 up
配置网关:

bash
adb shell busybox route add default gw <默认网关>
将“<默认网关>”替换为你的默认网关地址。例如:

arduino
adb shell busybox route add default gw 192.168.1.1
如果需要配置DNS服务器,可以使用以下命令进行设置:

bash
adb shell busybox route add dns <DNS服务器地址>
将“<DNS服务器地址>”替换为你想要设置的DNS服务器地址。你可以根据需要添加多个DNS服务器地址,用空格分隔。例如:

回复 支持 反对

使用道具 举报

67

主题

695

帖子

5382

积分

超级版主

Rank: 8Rank: 8

积分
5382
19#
 楼主| 发表于 2024-1-18 14:04:26 | 只看该作者

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

67

主题

695

帖子

5382

积分

超级版主

Rank: 8Rank: 8

积分
5382
20#
 楼主| 发表于 2024-1-24 15:45:26 | 只看该作者
本帖最后由 King 于 2024-2-27 14:05 编辑

编译 可执行文件
pyinstaller -F -i D:\Tools\logo.png adbreboot.py
查看app 主activity
adb shell dumpsys activity recents | findstr "intent={"
查看内存
[backcolor=rgba(27, 31, 35, 0.05)]adb shell dumpsys meminfo
[backcolor=rgba(27, 31, 35, 0.05)]查看系统版本名
[backcolor=rgba(27, 31, 35, 0.05)]adb shell getprop ro.build.display.id
[backcolor=rgba(27, 31, 35, 0.05)]

[backcolor=rgba(27, 31, 35, 0.05)]查看 app 版本号
[color=rgba(0, 0, 0, 0.85)]adb shell dumpsys package <package_name> | grep versionName
[color=rgba(0, 0, 0, 0.85)]adb shell dumpsys package <package_name> | findstr versionName


getprop ro.build.date.utc
查询设备编译时间

python systrace.py -b 32768 -t 150 -o mytrace.html gfx input view webview wm am sm audio video camera hal app res dalvik rs bionic
power sched irq freq idle disk mmc load sync workq memreclaim regulators com.hezheng.pos

trace Android 性能




查询设备 mac地址


[color=rgba(0, 0, 0, 0.85)]adb shell cat /sys/class/net/eth0/address
[color=rgba(0, 0, 0, 0.85)]adb shell cat /sys/class/net/wlan0/address
[color=rgba(0, 0, 0, 0.85)]


回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


快速回复 返回顶部 返回列表