自动化脚本之Android系统修改推送

简介: 自动化脚本之Android系统修改推送

Android文件推送重启脚本

脚本功能介绍

这个脚本是用来推送一些文件到Android设备上,并重启设备的。它接受一个参数,就是要推送的文件的编号。它会显示所有可选的文件和对应的功能简介,并让用户选择一个文件。然后,它会列出所有连接的设备,并让用户选择一个设备。接着,它会将选中的文件推送到设备上,并同步数据。最后,它会询问用户是否同意重启设备。

# 注意 !!! 这是power shell脚本 
 
# 设置源码路径
$SOURCE = "V:\rockchip\rk3568_android11\out\target\product\rk3568_r\system\framework\"
# 设置文件和目标路径字典
$FILES_DESTS = @{
    "framework.jar" = "\system\framework\"
    "framework-res.apk" = "\system\framework\"
    "libandroid_servers.so" = "\system\lib\"
    "selinux_policy" = "\"
}
# 设置文件功能简介字典
$DESCRIPTION = @{
    "framework.jar" = "一个压缩文件,包含了Android系统框架层的Java类。"
    "framework-res.apk" = "一个压缩文件,包含了Android系统框架层的资源文件。"
    "libandroid_servers.so" = "一个动态链接库文件,包含了Android系统框架层服务层的native代码。"
    "selinux_policy" = "一个文件,包含了Android系统的安全增强型Linux(SELinux)策略。"
}
# 文件名称数组
$FILES = @("framework.jar", "framework-res.apk", "libandroid_servers.so", "selinux_policy")
# 获取设备的root权限和可写权限
Start-Process -NoNewWindow -FilePath adb -ArgumentList "root"
Start-Process -NoNewWindow -FilePath adb -ArgumentList "connect 192.168.1.64"
Start-Process -NoNewWindow -FilePath adb -ArgumentList "remount"
Start-Process -NoNewWindow -FilePath adb -ArgumentList "connect 192.168.1.64"
# 定义一个函数,用于推送文件到设备上,并显示结果
function push_file {
    param (
        [string]$device,
        [string]$file,
        [string]$dest
    )
    # 推送文件到设备上,并显示结果
    $result = Start-Process -NoNewWindow -FilePath adb -ArgumentList "-s $device push '$SOURCE$file' $dest" -PassThru
    if ($result.ExitCode -eq 0) {
        Write-Host "成功推送了$file 到 $dest"
    } else {
        Write-Host "推送$file 到 $dest 失败"
    }
}
# 打印所有选项和对应的文件功能简介
for ($i=0; $i -lt $FILES.Count; $i++) {
    Write-Host "$($i+1). $($FILES[$i]) ($($DESCRIPTION[$FILES[$i]]))"
}
# 提示用户输入一个选项
$answer = Read-Host -Prompt "请输入你想推送的文件的编号"
$answer = $FILES[$answer-1]
# 列出所有连接的设备
$devices = adb devices | Where-Object {$_ -match "device$"} | ForEach-Object {$_.Split('\t')[0]}
if ($devices -eq $null) {
    Write-Host "没有找到连接的设备。"
    exit 1
}
# 如果只有一个设备,则直接选择该设备
$device = $devices[0]
# 如果有多个设备,让用户选择一个设备
if ($devices.Count -gt 1) {
    Write-Host "找到以下设备:"
    for ($i=0; $i -lt $devices.Count; $i++) {
        Write-Host "$($i+1): $($devices[$i])"
    }
    $index = Read-Host -Prompt "请选择一个设备的编号"
    $device = $devices[$index-1]
}
# 如果该选项存在,则推送对应的文件
if ($FILES_DESTS.ContainsKey($answer)) {
    push_file $device $answer $FILES_DESTS[$answer]
} else {
    Write-Host "输入的编号不正确。"
}
# 同步数据并重启设备
Start-Process -NoNewWindow -FilePath adb -ArgumentList "-s $device shell sync"
$confirm = Read-Host -Prompt "你是否同意重启设备?(Y/N)"
if ($confirm -eq "Y") {
    Start-Process -NoNewWindow -FilePath adb -ArgumentList "-s $device reboot"
}

使用示例

要运行这个脚本,需要在终端中输入:

push_file.sh

然后就可以看到类似下面的输出:

1. framework.jar (一个压缩文件,包含了Android系统框架层的Java类。)
2. framework-res.apk (一个压缩文件,包含了Android系统框架层的资源文件。)
3. libandroid_servers.so (一个动态链接库文件,包含了Android系统框架层服务层的native代码。)
4. selinux_policy (一个文件,包含了Android系统的安全增强型Linux(SELinux)策略。)
请输入你想推送的文件的编号: 2
找到以下设备:
1: 192.168.1.64:5555
2: emulator-5554
请选择一个设备的编号: 1
成功推送了framework-res.apk 到 \system\framework\
你是否同意重启设备?(Y/N): Y
相关文章
|
2月前
|
机器学习/深度学习 人工智能 测试技术
EdgeMark:嵌入式人工智能工具的自动化与基准测试系统——论文阅读
EdgeMark是一个面向嵌入式AI的自动化部署与基准测试系统,支持TensorFlow Lite Micro、Edge Impulse等主流工具,通过模块化架构实现模型生成、优化、转换与部署全流程自动化,并提供跨平台性能对比,助力开发者在资源受限设备上高效选择与部署AI模型。
295 9
EdgeMark:嵌入式人工智能工具的自动化与基准测试系统——论文阅读
|
2月前
|
Linux 测试技术 语音技术
【车载Android】模拟Android系统的高负载环境
本文介绍如何将Linux压力测试工具Stress移植到Android系统,用于模拟高负载环境下的CPU、内存、IO和磁盘压力,帮助开发者优化车载Android应用在多任务并发时的性能问题,提升系统稳定性与用户体验。
203 6
|
2月前
|
Java 数据库 Android开发
基于Android的电子记账本系统
本项目研究开发一款基于Java与Android平台的开源电子记账系统,采用SQLite数据库和Gradle工具,实现高效、安全、便捷的个人财务管理,顺应数字化转型趋势。
|
28天前
|
存储 人工智能 自然语言处理
拔俗AI自动化评价分析系统:让数据说话,让决策更智能
在用户体验为核心的时代,传统评价分析面临效率低、洞察浅等痛点。本文基于阿里云AI与大数据技术,构建“数据-算法-应用”三层智能分析体系,实现多源数据实时接入、情感与主题精准识别、跨模态融合分析及实时预警,助力企业提升运营效率、加速产品迭代、优化服务质量,并已在头部电商平台成功落地,显著提升用户满意度与商业转化。
|
1月前
|
人工智能 监控 Kubernetes
77_自动化脚本:Makefile与Airflow
在当今AI大模型时代,高效的工作流管理对于模型训练、推理和部署至关重要。随着大模型规模的不断增长和复杂度的提升,传统的手动脚本管理方式已无法满足需求。自动化脚本和工作流调度系统成为构建健壮、可重复、可扩展的LLM Pipeline的关键工具。其中,Makefile作为经典的自动化构建工具,与Airflow作为现代工作流调度平台的结合,为LLM开发团队提供了强大的工作流管理能力。
|
4月前
|
运维 Prometheus 监控
系统崩了怪运维?别闹了,你该问问有没有自动化!
系统崩了怪运维?别闹了,你该问问有没有自动化!
149 9
|
3月前
|
机器学习/深度学习 Android开发 数据安全/隐私保护
手机脚本录制器, 脚本录制器安卓,识图识色屏幕点击器【autojs】
完整的UI界面,包含录制控制按钮和状态显示 屏幕点击动作录制功能,记录点击坐标和时间间隔
|
3月前
|
传感器 人工智能 JavaScript
Playwright实战:写UI自动化脚本,速度直接起飞
简介: 测试工程师老王因UI自动化问题深夜奋战,反映出传统测试工具的局限性。微软开源的Playwright凭借智能等待、跨域操作、移动端模拟与网络拦截等强大功能,正迅速取代Selenium,成为新一代自动化测试标准。其稳定高效的设计显著降低维护成本,助力企业构建高质量测试流程。
|
4月前
|
Android开发 数据安全/隐私保护 Python
微信抢红包脚本安卓插件,微信xposed抢红包模块, magisk微信抢红包模块
这个代码实现了一个完整的微信抢红包自动化工具,包含红包检测、自动点击、日志记录等功能

热门文章

最新文章