DelphiWorlds / Kastri

Cross-platform library for Delphi
MIT License
472 stars 111 forks source link

Build error and/or app failures when using Delphi 12.1 for certain demos - Android only #220

Open DelphiWorlds opened 3 months ago

DelphiWorlds commented 3 months ago

For certain demos in Kastri, use has been made of Post Build events to modify the resulting AndroidManifest.xml which is deployed with the application. In Delphi 12.1, changes in the build process for Android apps has broken this process, so if you are building the project for the first time, you may see the error:

[Exec Error] The command "..\..\Tools\manifestmerge AndroidManifest.merge.xml Android64\Debug\AndroidManifest.xml
" exited with code 1.

This is because AndroidManifest.xml is not generated until deploy time, so manifestmerge fails due to the missing file.

Unfortunately, Delphi 12.1 regenerates AndroidManifest.xml every time the app is deployed, so manifestmerge cannot be used. This means that manifest entries required by Kastri demos that need them will need to be added manually to AndroidManifest.template.xml. In addition, this file is not created until the first deployment of an application.

I am in the process of updating the readme files for each of the affected demos, which are:

The updated readme files will have instructions for editing AndroidManifest.template.xml manually

DelphiWorlds commented 1 month ago

I have now released Codex 2.3.1, which deals with this issue. If you have Delphi 12.1 and the feature required a Build Event to merge the manifest, install Codex 2.3.1, remove the Build Event from the Project Options and it should now merge from AndroidManifest.merge.xml in the project folder when the app is deployed.