Kastri icon indicating copy to clipboard operation
Kastri copied to clipboard

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

Open DelphiWorlds opened this issue 10 months ago • 1 comments

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:

  • AndroidGeofence
  • AppUpdate
  • Biometric
  • CrossPlatformLocation
  • FCMRebooted
  • FirebaseAnalytics
  • FirebaseCloudMessaging (legacy demo - please use FCMRebooted)
  • GoogleSignIn
  • NotificationListenerService
  • SpeechRecognition

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

DelphiWorlds avatar Apr 05 '24 04:04 DelphiWorlds

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.

DelphiWorlds avatar Jun 11 '24 19:06 DelphiWorlds