@echo off
setlocal enabledelayedexpansion
title APK自动安装脚本
color 0A
REM @Author: xpz
echo ===============================================
echo APK自动卸载并安装脚本
echo APK包名名为com.tld.factory
echo ===============================================
echo.
:: 步骤1: 扫描桌面包含QiRui_RK3568_release的文件
echo [步骤1/4] 正在扫描桌面文件,查找应用.apk文件...
set file_count=0
:: 清空可能存在的旧文件列表
for /l %%i in (1,1,20) do set "file_%%i="
:: 查找桌面上的相关文件
for /f "delims=" %%i in ('dir /b "%USERPROFILE%\Desktop\*.apk" 2^>nul') do (
set /a file_count+=1
set "file_!file_count!=%%i"
echo 发现文件 [!file_count!]: %%i
)
:: 检查是否找到文件
if %file_count% equ 0 (
echo.
echo 错误: 未在桌面找到包含".apk"的文件。
goto :pause_exit
)
echo.
echo 扫描完成,共找到 %file_count% 个匹配文件。
:: 文件选择逻辑
set selected_file=
if %file_count% equ 1 (
set selected_file=!file_1!
echo 仅找到一个文件,自动选择: !selected_file!
) else (
echo 找到多个文件,请选择要安装的文件:
:input_choice
set /p "choice=请输入序号(1-%file_count%): "
:: 验证输入有效性
set is_valid=0
for /l %%i in (1,1,%file_count%) do (
if "!choice!"=="%%i" set is_valid=1
)
if !is_valid! equ 0 (
echo 错误: 无效的选择,请输入1-%file_count%之间的数字。
goto :input_choice
)
set selected_file=!file_%choice%!
echo 已选择: !selected_file!
)
echo.
echo 按任意键继续安装过程,或关闭窗口取消...
pause >nul
:: 步骤2: 检查ADB环境
echo.
echo [步骤2/4] 检查ADB环境...
adb version >nul 2>&1
if errorlevel 1 (
echo 错误: ADB未正确安装或未配置环境变量。
echo.
echo 请确保:
echo 1. 已安装Android SDK平台工具
echo 2. 已将%%ANDROID_HOME%%\platform-tools添加到PATH环境变量
echo 3. 或者在此脚本中正确设置ADB路径
goto :pause_exit
)
:: 显示ADB版本信息
echo ADB环境正常,版本信息:
adb version
:: 等待设备连接
echo.
echo 等待设备连接...
adb wait-for-device
if errorlevel 1 (
echo 错误: 设备连接失败或未授权USB调试。
echo 请检查:
echo 1. USB线是否连接正常
echo 2. 是否开启USB调试模式
echo 3. 设备上是否授权了USB调试
goto :pause_exit
)
echo 设备连接成功。
:: 步骤3: 智能卸载应用com.tld.factory (优化部分)
echo.
echo [步骤3/4] 检查应用状态: com.tld.factory...
echo 正在检查设备上是否已安装该应用...
:: 检查应用是否存在于设备中
adb shell pm list packages | findstr /c:"com.tld.factory" >nul 2>&1
if errorlevel 1 (
echo 应用 com.tld.factory 在设备上不存在,跳过卸载步骤。
) else (
echo 应用 com.tld.factory 已存在,正在卸载...
adb uninstall com.tld.factory
:: 检查卸载结果
if errorlevel 1 (
echo 警告: 卸载操作失败,但将继续尝试安装...
) else (
echo 卸载完成。
)
)
:: 步骤4: 安装选中的APK文件
echo.
echo [步骤4/4] 正在安装: !selected_file!
echo 安装过程可能需要一些时间,请耐心等待...
:: 构建完整的文件路径 覆盖安装
set "full_path=%USERPROFILE%\Desktop\!selected_file!"
echo 执行命令: adb install -r "%full_path%"
:: 检查文件是否存在
if not exist "%full_path%" (
echo 错误: 文件不存在: %full_path%
goto :pause_exit
)
:: 执行安装
adb install "%full_path%"
set install_result=!errorlevel!
if !install_result! equ 0 (
echo.
echo 安装成功!
:: 验证安装是否真的成功
echo 验证应用是否安装成功...
adb shell pm list packages | findstr /c:"tld.factory" >nul 2>&1
if errorlevel 1 (
echo 警告: 安装成功但未在设备上找到应用包
) else (
echo 应用包确认存在于设备上
echo 启动应用中...
adb shell am start com.tld.factory/.ui.MainActivity
)
) else (
echo.
echo 错误: 安装失败!
echo 可能的原因:
echo - 设备存储空间不足
echo - APK文件损坏
echo - 设备不兼容
echo - 签名冲突
goto :pause_exit
)
echo.
echo ===============================================
echo 所有操作已完成!
echo ===============================================
echo 安装的文件: !selected_file!
echo 安装时间: %date% %time%
echo ===============================================
:pause_exit
echo.
echo 脚本执行完毕。
pause
APK自动安装脚本
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 1.安装Appium client for python 我们需要下载一个Appium Client for Py...
- APK批量安装脚本. 说明:创建installAPK.bat,右键文本打开粘贴如下内容: 在windows下新建a...
- 之前有读者朋友说 Airtest 官方支持将自动化脚本编译成 APK 直接运行,照着官方提供的文档操作了一遍,发现...
- 背景:现在项目使用的是第三方加密:爱加密,jenkins配置完打包后 打出正式包 再交由第三方平台加密 之前是手动...