Delphi 10 Seattle开发Android项目关闭重开后编译运行异常
Delphi 重开后Android编译无报错、安装运行黑屏问题解决
这是Delphi Android开发的经典老坑,我前后遇到过三四次,按下面顺序排查基本都能解决,不用反复重装IDE:
- 先查SDK/NDK配置假加载:Delphi异常关闭或者重启后,IDE经常会出现SDK配置“表面正常、实际失效”的问题——界面上看SDK、NDK路径都填对了,实际编译时根本没调用到对应打包工具,既不会把你写的业务代码打进APK,也不会做语法校验,所以你故意写错代码也不报错,装到手机上就是个无内容的空壳黑屏。直接进
Tools > Options > Deployment > SDK Manager,选中你当前项目用的Android SDK版本,点Update按钮重新做路径校验,确认列表里aapt、d8/dx、adb、NDK下的clang编译工具路径全部校验通过,再点保存。 - 清掉残留进程和锁文件:Delphi关闭时经常会残留
bds.exe、java.exe(编译用的java进程)、adb.exe后台进程,占住编译中间目录,重开IDE后编译不会覆盖旧的无效APK。先开任务管理器把所有带bds、delphi、java(对应Delphi启动的java进程,别误关自己其他java程序)、adb的相关进程全结束,再手动删除项目目录下的Android、__recovery、对应平台的输出文件夹,同时清掉%APPDATA%\Embarcadero\BDS\你的Delphi版本号\AndroidCache目录下的全部缓存文件。 - 核对项目入口配置:IDE异常关闭后经常会丢项目配置,打开
Project > Options > Forms,确认你的主窗体在Auto-create forms列表的最顶部,没有被挪到Available forms里;再去Project > Options > Application > Manifest里确认Manifest配置没有被重置成默认空配置,你之前加的权限、启动Activity配置都还在。主窗体配置丢了的话,编译出来的APP没有启动入口,启动就黑屏,而且Delphi 10.4之前的版本对这个问题完全不抛编译错误。 - 清掉手机端的残留安装包:如果之前调试装过同包名的APP,卸载不干净会残留旧的dex和数据,新APK安装时不会完整覆盖文件。先在手机上手动卸载对应APP,再连电脑执行
adb shell pm uninstall 你的应用完整包名彻底清除残留数据,再重新编译安装。
我第一次踩这个坑的时候反复重装了两次Delphi,折腾了快两天,最后就是SDK Manager里点了下Update校验路径就解决了,重装是效率最低的排查方式。
内容的提问来源于stack exchange,提问作者Krys Sto
相关产品推荐
相关产品推荐

