我正在尝试使用adb和aapt检查多个设备上安装的APK。
目前,我已经在每台设备上通过我的电脑上的APK列表。我现在正尝试将这些PC APK与设备上的包名称进行匹配,但是,FOR /F "tokens=1 delims=" %%D IN ('adb shell "pm list packages" | !CUT! -d' -f2' ":") DO (
行似乎导致错误: was unexpected at this time
。
请参阅简短代码:
::Global
@echo off
set AAPT=tools\aapt.exe
set GREP=tools\grep.exe
set CUT=tools\cut.exe
:: Install Gold Build applications
cls
@echo.
@echo ------------------------ CHECK APPLICATIONS INSTALLED --------------------------
SETLOCAL ENABLEDELAYEDEXPANSION
FOR /F "tokens=1,2 skip=1" %%A IN ('adb devices') DO (
SET IS_DEV=%%B
if "!IS_DEV!" == "device" (
SET SERIAL=%%A
echo.
echo Device !SERIAL! Connected
echo.
for /f "delims=" %%B in ('dir /b ^"APKs\*.apk^"') do (
SET APK=%%B
for /f "tokens=1 delims=" %%C in ('%AAPT% d badging APKs\!APK! ^| !GREP! "package: name=" ^| !CUT! -d' -f2') do (
set package=%%C
if "!package!" == "" set package=Unknown (
echo !package!
FOR /F "tokens=1 delims=" %%D IN ('adb shell "pm list packages" | !CUT! -d' -f2' ":") DO (
SET DEVPACKAGE=%%D
echo !DEVPACKAGE!
if "!DEVPACKAGE!" == "!package!" (
echo Application !package! is installed on device !SERIAL!
else (
echo Application !package! is not installed on device !SERIAL!
)
)
)
)
)
)
)
)
ENDLOCAL
@echo.
@echo.
@pause
您能够确定问题吗? 提前谢谢!