You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过独立批处理文件获取Delphi配置信息(含Android SDK路径等)

用批处理获取Delphi的Android配置信息

完全可以通过批处理获取Delphi中配置的Android SDK相关信息,核心思路是读取Delphi存储配置的注册表项或者配置文件,再结合文件系统遍历获取具体细节。

方法一:通过注册表读取核心配置

Delphi会将Android SDK的路径等关键配置存储在Windows注册表中,不同版本的Delphi对应不同的注册表路径(BDS版本号对应关系:Delphi 10.3=19.0、10.4=20.0、11=21.0、12=22.0)。

批处理示例代码

@echo off
setlocal enabledelayedexpansion

:: 替换为你的Delphi版本对应的BDS版本号
set BDS_VERSION=21.0

:: 读取注册表中的Android SDK路径
for /f "tokens=2*" %%a in ('reg query "HKCU\Software\Embarcadero\BDS\!BDS_VERSION!\Platforms\Android" /v SDKPath 2^>nul') do (
    set ANDROID_SDK_PATH=%%b
)

if not defined ANDROID_SDK_PATH (
    echo 未找到Android SDK路径,请检查BDS_VERSION是否正确,或尝试使用HKLM替换HKCU(需管理员权限)
    exit /b 1
)

:: 输出SDK路径
echo Android SDK 路径: *!ANDROID_SDK_PATH!*

:: 获取已安装的API级别
echo.
echo 已安装的Android API级别:
for /d %%d in ("!ANDROID_SDK_PATH!\platforms\android-*") do (
    echo - %%~nxd
)

:: 查找aapt.exe位置(部分新版本SDK可能用aapt2.exe)
echo.
echo aapt.exe 位置:
for /d %%d in ("!ANDROID_SDK_PATH!\build-tools\*") do (
    if exist "%%d\aapt.exe" (
        echo - %%d\aapt.exe
    )
    :: 可选:同时查找aapt2.exe
    if exist "%%d\aapt2.exe" (
        echo - %%d\aapt2.exe
    )
)

endlocal

方法二:读取Delphi配置文件

如果注册表读取失败,可以尝试读取Delphi安装目录下的bds.config文件(通常在C:\Program Files (x86)\Embarcadero\Studio\<版本号>\bin),文件中会定义ANDROID_SDK_ROOT等环境变量。

批处理片段示例

@echo off
setlocal enabledelayedexpansion

:: 替换为你的Delphi安装路径
set BDS_BIN_PATH=C:\Program Files (x86)\Embarcadero\Studio\21.0\bin

:: 从bds.config中提取ANDROID_SDK_ROOT
for /f "tokens=2 delims==" %%a in ('findstr /i "ANDROID_SDK_ROOT" "!BDS_BIN_PATH!\bds.config"') do (
    set ANDROID_SDK_PATH=%%a
)

:: 后续处理同方法一...
endlocal

注意事项

  • 若注册表路径在HKLM而非HKCU,需要以管理员身份运行批处理,并将命令中的HKCU替换为HKLM。
  • 部分高版本Android SDK已弃用aapt.exe,改用aapt2.exe,批处理中可同时检测两者。
  • 当路径包含空格时,批处理中必须用双引号包裹路径,避免解析错误。

内容的提问来源于stack exchange,提问作者zeus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 09:25:39