打印 上一主题 下一主题

ZYSJ-3588-麦当劳

[复制链接]
查看: 1944|回复: 1

67

主题

698

帖子

5408

积分

超级版主

Rank: 8Rank: 8

积分
5408
跳转到指定楼层
楼主
发表于 2024-10-28 16:57:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 King 于 2024-11-7 14:03 编辑

adb命令添加白名单:adb shell settings put System add_white_list packages.name

adb命令删除白名单:adb shell settings put System delete_white_list packages.name
adb命令查询白名单:adb shell settings get System query_white_list


com.oray.sunlogin.customize
com.mcdonalds.sok.cn
com.mcdonalds.sok.cn.dev
com.mcdonalds.rom.test
com.ccl.factoryapp
com.qihoo360.leakscan
com.mcdonalds.sok.cn
com.mcdonalds.sok.cn.dev
com.mcdonalds.rom.test
com.oray.sunlogin.customize
com.agent.goMax
---创捷硬件出厂测试:
com.ccl.factoryapp
com.ccl.updater
com.ccl.remotecontrol
smarnet.com.printertools
com.into.stability
com.ilitek.touchutility
com.acdc.autotool
android_serialport_api.sample
com.hjimi.developer
smarnet.com.printertools
com.example.usbprintertest
com.orbbec.obDepth3
com.printsdksample
com.malio.quickview
com.rk.stresstest.uvccamera
net.printer.printdemo16
com.ayst.stresstest
ua.com.streamsoft.pingtools

有接口 jar包可以调用






adb shell am broadcast -a "zysj.remote.update.system" -f 0x01000000
升级广播 android 8 以后应该加 flags 0x01000000
11-07 13:55:06.906   605   665 W BroadcastQueue: Background execution not allowed: receiving Intent { act=zysj.remote.update.system flg=0x400010 } to com.android.settings/.receivers.OtaBroadcastReceiver系统升级广播失败: 系统试图发送一个系统升级的广播,但由于接收者(Settings应用)不在前台运行,导致广播失败。失败原因是接收者com.android.settings/.receivers.OtaBroadcastReceiver不在前台运行。在Android 12中,为了保护用户隐私和系统安全,对后台应用的广播接收权限进行了限制。只有在前台运行的应用才能接收某些类型的广播。


您遇到的问题是,只有在发送广播时添加了-f 0x01000000这个flag,系统升级广播才能生效。这主要涉及到Android系统广播机制中的一个重要概念:广播接收权限
0x01000000 flag的含义
  • FLAG_RECEIVER_FOREGROUND: 这个flag表示广播接收者必须运行在前景进程中才能接收该广播。
为什么需要这个flag?
  • 系统安全: Android系统为了保护用户隐私和系统安全,对广播接收权限进行了限制。只有运行在前景的应用才能接收到某些类型的广播,以防止恶意应用在后台偷偷获取系统信息或执行操作。
  • 系统资源优化: 限制广播接收范围可以减少系统资源的消耗,提高系统响应速度。
您的具体情况分析
  • zysj.remote.update.system 这个广播意图可能涉及到系统级别的更新操作,因此系统对它的接收权限设置得比较严格。
  • -f 0x01000000 这个flag强制要求接收者运行在前景,这样系统才能保证广播的安全性。
总结
当您发送zysj.remote.update.system广播时,系统会检查是否有符合条件的接收者。如果没有添加-f 0x01000000这个flag,系统会认为您发送的广播不需要立即处理,或者说没有合适的接收者来处理。而当您添加了这个flag后,系统就会强制寻找一个运行在前景的接收者来处理这个广播,从而触发系统升级操作。
注意事项
  • 不要滥用这个flag: 频繁地发送带有FLAG_RECEIVER_FOREGROUND的广播可能会影响系统性能,甚至导致应用崩溃。
  • 了解广播接收机制: 熟悉Android广播机制的原理,有助于更好地理解系统行为。
  • 查看应用源码: 如果您想深入了解为什么需要这个flag,可以查看接收这个广播的应用的源码,看看它的接收器是如何实现的。
11-07 13:59:05.301  1245  1245 I OtaBroadcastReceiver: false---USBpath1=null
11-07 13:59:05.301  1245  1245 I OtaBroadcastReceiver: ----action: zysj.remote.update.system
11-07 13:59:05.302  1245  1245 I OtaBroadcastReceiver: update_state: 0
11-07 13:59:05.303  1245  1245 W RecoverySystem: !!! REBOOTING TO INSTALL /data/media/0/update.zip !!!
11-07 13:59:06.312  3960  3960 I uncrypt :   received command: [--update_package=@/cache/recovery/block.map
11-07 13:59:06.326   605   886 I RecoverySystemService: Updatable Apex not supported, allocateSpaceForUpdate does nothing.
11-07 13:59:06.590   605  3963 I PackageWatchdog: Last write to update package durations
11-07 13:59:06.914   464   464 E LcdParamService: Aurora --->>> get rk_update_lcd_parameters start
11-07 13:59:06.925   464   464 E LcdParamService: ---Aurora go access(lcdparameter_buf)--- ======== rk_update_lcd_parameters_from_sdcard 375 ========
11-07 13:59:07.618  3983  3983 I uncrypt : update package is "/data/media/0/update.zip"
11-07 13:59:11.760   414  2823 D BufferPoolAccessor2.0: bufferpool2 0xe9040268 : 1(2088960 size) total buffers - 1(2088960 size) used buffers - 2385/2386 (recycle/alloc) - 1/2385 (fetch/transfer)
11-07 13:59:11.925   464   464 E LcdParamService: Aurora --->>> get rk_update_lcd_parameters start
11-07 13:59:11.953   464   464 E LcdParamService: ---Aurora go access(lcdparameter_buf)--- ======== rk_update_lcd_parameters_from_sdcard 375 ========
11-07 13:59:13.795   605  3963 I ShutdownThread: Rebooting, reason: recovery-update
11-07 13:59:13.888  2797  2817 W mediametrics::Item: selfrecord: failed to record: {codec, (01-01 08:00:00.000), (, -1, -1), (android.media.mediacodec.bitrate=8000000, android.media.mediacodec.bitrate_mode=VBR, android.media.mediacodec.codec=c2.rk.avc.encoder, android.media.mediacodec.color-format=2130708361, android.media.mediacodec.encoder=1, android.media.mediacodec.errcode=-32, android.media.mediacodec.errstate=STARTED, android.media.mediacodec.height=1080, android.media.mediacodec.latency.unknown=2399, android.media.mediacodec.level=8192, android.media.mediacodec.lifetimeMs=424454, android.media.mediacodec.log-session-id=, android.media.mediacodec.low-latency.first-frame=-1, android.media.mediacodec.low-latency.off=0, android.media.mediacodec.low-latency.on=0, android.media.mediacodec.mime=video/avc, android.media.mediacodec.mode=video, android.media.mediacodec.original.bitrate=8000000, android.media.mediacodec.profile=1, android.media.mediacodec.rotation-degrees=0, android.media.mediacodec.secure=0, android.media.mediacodec.shaped=1, android.media.mediac
以上日志表示接收升级

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

67

主题

698

帖子

5408

积分

超级版主

Rank: 8Rank: 8

积分
5408
沙发
 楼主| 发表于 2024-11-6 15:03:53 | 只看该作者
手上板是不是刷过屏参、清除一下
长按升级按键通电、等蓝闪5下后会快速闪3下。这个时候就已清除屏参在断电开机一下
或者用升级工具里擦除Flash完成后在升级




开机自启动,去掉背部电阻变成开机不自启

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则


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