打印 上一主题 下一主题

SD5360-660-M1麦当劳

[复制链接]
查看: 14265|回复: 22

63

主题

642

帖子

4958

积分

超级版主

Rank: 8Rank: 8

积分
4958
跳转到指定楼层
楼主
发表于 2022-7-14 20:25:17 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 King 于 2023-7-28 15:39 编辑

个人:锁定竖屏可能会导致 其他接口输出扁平化,局部触摸失效等



黑屏问题依然没有解决
app默认获取所有权限无需动态获取,暂时需动态获取(远程工具、麦当劳等少了无弹窗)
ro.serial无法设置,当时设置的是和家里一致的位置。
wm size 第一次需要设置1080*1920,之后 adb reboot不影响

静默安装对应安装含McDonald's 关键字的app 可以实现静默安装

07142242- 去掉远程弹窗。

660仍然存在的问题如下:
1、通知栏菜单,开关设置无效。(通知栏状态栏需同时打开,逻辑上无状态栏就无通知栏)
2、主屏旋转角度默认0度,修改无效。(7.16 可以支持旋转)
3、升级后(或恢复出厂设置),分辨率不正确,需要adb修改。
4.定时开关机,时间节点。(批量出货之后方可实现)




静默安装,上层调用方式,rom 实现
val intent = Intent("android.intent.action.SILENT_PACKAGE_INSTALL")
intent.component =ComponentName("com.android.packageinstaller",
"com.android.packageinstaller.SilentInstallerReceiver")
intent.putExtra("silent_install_file", file.absolutePath)
sendBroadcast(intent,null)
要求全量包升级
提供给上层调用的唯一识别码
获取设备唯一序列号,序列号和pc 外面贴的标签一致
如:上层调用方式:
Settings.Global.getString(context.getContentResolver(), "ro_serial")
1)系统设置增加以太网设置菜单,支持dhcp和静态IP设置;
2)静态 ip 配置
上层调用方式如下,rom实现
Intent intent = new Intent("android.net.action.ETHERNET_IP_CHANGED");
intent.putExtra("netMode", "static");
intent.putExtra("ipaddr",xx.xx.xx.xx);
//static 配置中子网掩码可能为空,接口里面拿到子网掩码进行配置
intent.putExtra("netMask", xxx.xxx.xxx.xx);
intent.putExtra("gateway",xxx.xxx.xx.xx);
intent.putExtra("dns1", xxx.xxx.xx.xx);
intent.putExtra("dns2", xxx.xxx.xx.xx);
intent.setComponent(new ComponentName("com.android.settings",
"com.android.settings.ethernet. EthernetBroadcastReceiver"));
context.sendBroadcast(intent,null);
3)切为动态 dhcp 增加动态配置的方式,广播只传入配置方式 netMode 为 dhcp,其他内容为空。
Intent intent = new Intent("android.net.action.ETHERNET_IP_CHANGED");
intent.putExtra("netMode", "dhcp");
intent.setComponent(new ComponentName("com.android.settings",
"com.android.settings.ethernet.EthernetBroadcastReceiver"));
context.sendBroadcast(intent,null);





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

使用道具 举报

63

主题

642

帖子

4958

积分

超级版主

Rank: 8Rank: 8

积分
4958
23#
 楼主| 发表于 2024-3-15 09:49:19 | 只看该作者
本帖最后由 King 于 2024-4-17 17:02 编辑

只有 调试版 固件才能打开串口调试
麦当劳固件 240301  日志控制大小与覆盖
以个数和总大小控制150个 ,每个 30M

机器内部断电,然后再上电,从外壳的缝隙看下红灯和蓝灯的状态;主板供电正常,红灯常亮;系统开机过程中蓝色会闪烁两次,系统开机后如果网络正常,蓝灯会一直闪烁。

回复 支持 反对

使用道具 举报

63

主题

642

帖子

4958

积分

超级版主

Rank: 8Rank: 8

积分
4958
22#
 楼主| 发表于 2024-3-15 09:19:41 | 只看该作者
错误 INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113 通常出现在尝试在Android设备上安装APK文件时,尤其是当APK包含为特定应用二进制接口(ABI)编译的本地库(如.so文件)时。ABI定义了操作系统和应用软件之间的底层接口,它决定了应用如何与处理器交互。

这个错误表明,APK中包含的本地库与设备支持的ABI不兼容。换句话说,APK是为不同的处理器架构(如armeabi-v7a, arm64-v8a, x86, x86_64等)编译的,而你的设备并不支持这些架构。

res=-113 是一个错误代码,通常用于指示一个通用的“不支持”或“不匹配”的情况。

要解决这个问题,你可以尝试以下步骤:

确认设备ABI:首先,你需要知道你的设备支持哪些ABI。这通常可以在设备的开发者选项或系统设置中查看,或者使用ADB工具(Android Debug Bridge)运行 adb shell getprop ro.product.cpu.abi 或 adb shell getprop ro.product.cpu.abilist 命令。

检查APK支持的ABI:确认APK是为哪些ABI编译的。这通常需要解压APK文件并检查lib目录下的内容。如果APK仅包含与你的设备不兼容的ABI的库,则无法安装。

获取正确的APK版本:如果可能,获取一个与你的设备ABI兼容的APK版本。这通常意味着从应用开发者或应用商店获取一个为不同架构编译的版本。

使用兼容的设备:如果你无法获取与你的设备ABI兼容的APK版本,你可能需要使用一个具有兼容ABI的不同设备来安装和运行该应用。

编译本地库:如果你有访问应用的源代码和编译工具,你可以尝试为你的设备ABI编译本地库,并重新打包APK。

请注意,处理这类问题时,了解Android的ABI和架构是非常重要的。如果你不熟悉这些概念,可能需要查阅更多关于Android开发、架构和ABI的文档和教程。
回复 支持 反对

使用道具 举报

63

主题

642

帖子

4958

积分

超级版主

Rank: 8Rank: 8

积分
4958
21#
 楼主| 发表于 2024-3-12 14:57:57 | 只看该作者
本帖最后由 King 于 2024-3-12 16:05 编辑

//硬件序列号 public static final String SERIAL = getString("ro.serialno");
mac 地址:public static String getEthernetMac(){
    String ethernetMac = null;
    try {
        NetworkInterface NIC = NetworkInterface.getByName("eth0");
        byte[] buf = NIC.getHardwareAddress();
        ethernetMac = byteHexString(buf);
    } catch (Exception e) {
        e.printStackTrace();
    }
    return ethernetMac;
}获取Android设备的IMEI(国际移动设备身份码)
public static String getIMEI(Context context) {
        TelephonyManager tm = (TelephonyManager) context
                .getSystemService(Context.TELEPHONY_SERVICE);
        String deviceId = tm.getDeviceId();
        if (deviceId == null) {
            return "UnKnown";
        } else {
            return deviceId;
       }

回复 支持 反对

使用道具 举报

63

主题

642

帖子

4958

积分

超级版主

Rank: 8Rank: 8

积分
4958
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)]


回复 支持 反对

使用道具 举报

63

主题

642

帖子

4958

积分

超级版主

Rank: 8Rank: 8

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

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

63

主题

642

帖子

4958

积分

超级版主

Rank: 8Rank: 8

积分
4958
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服务器地址,用空格分隔。例如:

回复 支持 反对

使用道具 举报

63

主题

642

帖子

4958

积分

超级版主

Rank: 8Rank: 8

积分
4958
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
回复 支持 反对

使用道具 举报

63

主题

642

帖子

4958

积分

超级版主

Rank: 8Rank: 8

积分
4958
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"
一句指令 通查
回复 支持 反对

使用道具 举报

63

主题

642

帖子

4958

积分

超级版主

Rank: 8Rank: 8

积分
4958
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

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

使用道具 举报

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

本版积分规则


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