
简介针对 Embarcadero Delphi 环境中安卓 SDK 配置复杂、路径易错的问题这份 PDF 教程以轻量形式提供完整解决方案包体仅 1 个文件共 1.3MB。内容从解压 PlatformSDKs 压缩包开始细致演示在 IDE 的 SDK Manager 中删除旧配置、添加新 SDK并准确设置 Android SDK、NDK如 android-ndk-r21与 JDK如 jdk-17.0.10.7-hotspot的具体路径最后选择 android-33 版本并保存。文档提供了可直接参照的路径示例并提示读者结合实际开发工具版本灵活调整能显著降低初次配置时的试错成本。截至目前已有 158 人学习适合需要快速搭建 Delphi 安卓开发环境的开发者尤其是对 SDK 配置流程不够熟悉的新手是一份简洁实用的操作指南。 做Delphi安卓开发十有八九第一次都栽在环境配置上。IDE装好了代码写了两行一编译不是找不到SDK就是报错说NDK版本不对。尤其Delphi 121这套东西表面上安装程序会自动把Android SDK、NDK、JDK全部塞进PlatformSDKs目录但实际用起来这个目录既不一定给全组件也不会自动帮你把IDE里的SDK Manager注册好最后总得自己动手把PlatformSDKs环境搭建和IDE集成设置补齐。这篇东西不聊语法不聊控件就专门讲清楚在Delphi 121里配置安卓SDK的每一步需要装哪些东西、每个组件怎么选版本、在IDE里怎么配置、真机怎么连、编译不过怎么排查。1. Delphi 121安卓开发环境先搞清要装什么1.1 IDE和三个SDK的关系很多人刚上手时有个误解以为装了RAD Studio就等于安卓开发环境全齐了。实际上Delphi IDE只是一个开发外壳它负责代码编辑、项目管理、调试器这些上层的活真正把Delphi代码编译成安卓APK靠的是一整套外部的安卓构建工具链。这套工具链主要是四样东西Android SDK负责提供平台API和构建工具、NDK负责编译原生C/C代码Delphi RTL里有一部分底层库依赖它、JDK负责打包和签名APK时用到的Java工具以及IDE本身。打个比方IDE是厨师SDK是食材NDK是特殊厨具JDK是装盘打包的盒子。四样少一样这道菜就出不了厨房。Delphi 121的安装程序会尽力帮你把这四样准备好但问题是它准备的是“基本盘”——只装它认为最保守的默认组件而你手上设备的安卓版本、开发需求、网络环境各有不同基本盘往往不够用。1.2 版本选型JDK、NDK、API Level怎么选版本选型是环境配置里最关键的决策也是网上提问最多的地方。我在三次重装环境后总结出一套非常稳定的组合直接照着选就行组件推荐版本说明Android SDK API LevelAPI 33或34Delphi 121支持API 21到35默认目标API 33/34最稳NDKr25b或r25cr26之后工具链变化大部分工程会编不过JDKJDK 1164位版本高了报“class file major version”低了编译链起不来为什么API Level不建议一上来就追最高的35因为API Level对应的是设备上安卓系统的版本如果你手头的测试机是安卓13或更早目标API定太高反而要处理一堆兼容警告而且部分三方SDK还没有适配到最新API。先跑通基础流程再考虑升级目标版本这个顺序不要搞反。NDK这边要特别说一句很多人在Google官网直接下载了最新NDK r27放进PlatformSDKs后IDE死活识别不了或者能识别但Link阶段报“undefined reference”。这不是你配置错了是版本太新Delphi 121的构建脚本还没适配。老老实实用r25b/c我就是在这上面浪费了一个下午。2. PlatformSDKs环境搭建目录结构与缺失组件补齐2.1 默认安装后的目录长什么样Delphi 121在Windows上装好后安卓相关工具默认放在这个路径下面C:\Users\Public\Documents\Embarcadero\Studio\23.0\PlatformSDKs注意Studio后面的数字是版本目录号不同小版本可能不一样别死记用系统搜索或者Everything搜“PlatformSDKs”是最快的。打开这个目录正常安装的话能看到类似这样的结构PlatformSDKs\ ├── android-ndk\ │ ├── ndk-build.cmd │ ├── toolchains\ │ └── platforms\ ├── android-sdk-windows\ │ ├── build-tools\ │ ├── platforms\ │ ├── platform-tools\ │ └── SDK Manager.exe ├── jdk-17.0.11\ │ └── bin\ └── apache-ant\如果整个PlatformSDKs目录都不存在说明安装RAD Studio时没有勾选安卓支持组件。这种情况不用重装整个IDE重新运行安装程序选择“Modify”勾上“Android”相关的平台组件把安装流程走完即可。2.2 用SDK Manager补齐platforms和build-tools刚才说了安装程序只给基本盘。最常见的问题是platforms目录下只有一个android-XX目录build-tools也可能只有一两个版本。这时候就要手动补齐。在android-sdk-windows目录下找到SDK Manager.exe就是安卓官方那个SDK Manager双击运行。耐心等它刷新组件列表然后重点勾选以下内容PlatformsAndroid API 33或34根据你设备版本选Build-Tools建议选与API Level匹配的版本例如34.0.0Platform-Tools保持最新这个是adb工具的来源“SDK License”相关的协议全部接受下载过程在国内网络下可能比较慢甚至卡在某个包上。实测下来挂一个稳定的网络代理能解决大部分下载失败问题。同时注意360、火绒这类安全软件它们会拦截adb.exe和aapt.exe的运行我第一次就是被拦截之后一直报“aapt: error: file failed to compile”。3. IDE集成设置从SDK Manager到Project Options3.1 在IDE里注册SDK工具链都备齐了接下来要让Delphi IDE知道这些东西在哪并且按正确的顺序调用它们。这一步叫“SDK注册”位置在Tools - Options - Deployment - SDK Manager打开后左侧平台列表里应该有Android相关平台。如果列表空的点击“Add”选择PlatformSDKs目录下的android-sdk-windows目录。Delphi会尝试自动识别目录里的NDK和JDK识别成功后需要手动确认几个关键路径Java SDKjdk-11.x.x目录下bin的上一级即JDK根目录Android SDKandroid-sdk-windowsNDKandroid-ndk有一次我点“Add”之后Delphi直接崩溃排查半天发现是路径里有中文字符。强烈建议所有工具链目录保持默认的英文路径别为了“省事”把PlatformSDKs挪到D盘中文目录后面编译期各种奇葩报错会让你后悔。注册完成后IDE会触发一次“ZIP”相关组件校验界面可能卡几秒这是正常现象它正在检查当前的SDK配置是否完整。等状态栏全部变绿打勾就说明注册成功。3.2 Project Options里的关键参数SDK注册好只是第一步每个工程还需要指定目标平台和SDK版本。在Project Manager面板里右键工程名选择“Target Platforms”勾上Android 64-bit推荐主流设备都支持Android 32-bit如果还要兼容老设备可以加然后在Project - Options里设置这几个关键项Minimum OS Version设置API级别例如23代表安卓6.0如果你的测试机是安卓10设备API是29最小版本设23完全没问题SDK Version选择刚刚注册的SDK API Level如API 34下拉里看不到就回SDK Manager刷新Library路径需要手动加上NDK里的系统库路径格式类似$(PlatformSDKs)\android-ndk\platforms\android-33\arch-arm64\usr\lib这个Library路径配置很多人会漏。漏掉之后典型现象是Link阶段报“liblog.so not found”或者“cannot find -llog”。我在第一次配置时就是卡在这里后来把NDK对应API版本的系统库路径加进去编译秒过。4. 真机部署与模拟器调试4.1 连接真机的必要条件环境配置完第一次跑Hello World建议直接用真机而不是模拟器模拟器还要额外配置AVD真机反而省事。连接真机前确认这几件事手机开启开发者选项并打开USB调试用数据线连接电脑手机弹出授权弹窗时选择允许电脑上能识别设备可以用命令行验证打开CMD进入platform-tools目录执行adb devices能看到一串设备ID并显示device状态说明驱动没问题。如果列表里没有设备先换一条数据线试试——很多所谓的“连不上”其实是数据线只支持充电不支持数据传输。另外手机上的USB模式别选“仅充电”选“文件传输MTP”模式。Delphi IDE里真机部署很简单菜单栏选择Run - Run Without DebuggingIDE检测到设备后会把APK推送安装并自动启动。如果设备列表空白先检查上面的adb devices能否看到。4.2 从编译到APK生成部署调试没问题后可以了解下正式APK的构建路径。在IDE里执行Project - Build编译成功后在工程目录的Android64\Debug下会生成APK文件。Debug版本默认用debug签名能装但上不了应用商店。正式包需要Release签名配置在Project - Options里找到Provisioning页面可以新建一个签名配置生成keystore用JDK自带的keytool命令在JDK的bin目录下执行keytool -genkey -v -keystore release.keystore -alias delphi -keyalg RSA -keysize 2048 -validity 3650然后在IDE的Provisioning里导入这个keystore填上密码和别名切换到Release构建配置就能打出签名版APK签名这一环节最容易被忽视的是有效期很多朋友为了省事填了一年一年后应用市场提醒证书过期只能重新签名上架。我个人建议直接填20年以上反正keytool免费不用白不用。5. 常见问题速查我踩过的坑环境配置类的坑网上问来问去就那几个我把高频问题整理成一张表遇到直接对照着解决比重新翻论坛高效得多。报错/现象原因解决方案Invalid license / 无效的授权说明IDE授权过期或SDK Manager与License Manager不同步在Help - License Manager里重新激活若仍报错用安装程序Repair修复SDK Manager空白Add后闪退路径含中文/空格或者PlatformSDKs目录权限不足迁移到纯英文默认路径以管理员身份运行IDE编译报错找不到android.jarProject Options里的SDK版本与platforms目录下实际安装的API不匹配在SDK Manager补装对应API或把工程SDK版本改成已安装版本Unsupported class file major version 61JDK版本太高常见于装了JDK17换回JDK 11并确认SDK Manager里Java SDK路径指向JDK 11liblog.so not found / cannot find -llogLibrary搜索路径里没加NDK系统库在Project Options的Library路径加入NDK的usr/lib目录adb devices看不到设备数据线/驱动/USB模式问题换数据线装OEM驱动手机选择文件传输模式aapt: error: file failed to compile杀毒软件拦截构建工具把PlatformSDKs目录加入杀软白名单或暂时退出5.2 几条独家心得除了上面的常规排查我自己摸索出三个特别实用的习惯分享给你第一配置完SDK后第一时间新建一个空工程选Android 64位目标编译一次默认模板。这个动作能验证整个工具链是否通畅比直接开干老项目省心得多。因为老项目的资源、三方库、部署文件都可能引入新问题别让环境问题混在业务问题里排查。第二配好环境后把PlatformSDKs整个目录用压缩软件打包备份。下次换电脑或者系统重装解压回去在SDK Manager里重新Add一次路径就能用节省大量下载时间。我换过两台机器这招稳定省掉至少半小时。第三不要同时装多个版本的NDK。Delphi 121在识别NDK时优先认目录名里的版本号多个NDK并存容易让IDE混乱。只留一个当前在用的其他版本换个目录单独存着不要放在PlatformSDKs里。最后再提一个容易被忽略的小技巧在Project Manager里可以右键目标平台选择“Add New Platform”来添加不同安卓架构不用改工程代码就可以交叉编译出armeabi-v7a、arm64-v8a等多个架构包。但每新增一个架构就要检查一次Library路径是否包含对应架构的usr/lib目录否则照样Link不过。这个细节在三方SDK适配的时候尤为重要建议各位在正式给客户打包之前先全部架构编译一遍别等交付时才手忙脚乱。本文还有配套的精品资源点击获取