ZYSJ-3588-麦当劳
本帖最后由 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.30112451245 I OtaBroadcastReceiver: false---USBpath1=null
11-07 13:59:05.30112451245 I OtaBroadcastReceiver: ----action: zysj.remote.update.system
11-07 13:59:05.30212451245 I OtaBroadcastReceiver: update_state: 0
11-07 13:59:05.30312451245 W RecoverySystem: !!! REBOOTING TO INSTALL /data/media/0/update.zip !!!
11-07 13:59:06.31239603960 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 6053963 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.61839833983 I uncrypt : update package is "/data/media/0/update.zip"
11-07 13:59:11.760 4142823 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 6053963 I ShutdownThread: Rebooting, reason: recovery-update
11-07 13:59:13.88827972817 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
以上日志表示接收升级
手上板是不是刷过屏参、清除一下
长按升级按键通电、等蓝闪5下后会快速闪3下。这个时候就已清除屏参在断电开机一下
或者用升级工具里擦除Flash完成后在升级
开机自启动,去掉背部电阻变成开机不自启
页:
[1]