# Android: upgraded everything! (Google Play Services, OpenAL, AdMob, API level, Gradle...)

**URL:** https://forum.castle-engine.io/t/android-upgraded-everything-google-play-services-openal-admob-api-level-gradle/870
**Category:** News
**Created:** [August 6, 2023, 3:30pm UTC](https://forum.castle-engine.io/t/android-upgraded-everything-google-play-services-openal-admob-api-level-gradle/870 "2023-08-06T15:30:05Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![michalis](https://forum.castle-engine.io/user_avatar/forum.castle-engine.io/michalis/32/3_2.png) [@michalis](https://forum.castle-engine.io/u/michalis)
#### Post date: [August 6, 2023, 3:30pm UTC](https://forum.castle-engine.io/t/android-upgraded-everything-google-play-services-openal-admob-api-level-gradle/870/1 "2023-08-06T15:30:05Z")

</div>

| [![Game Services Demo in Castle Game Engine](https://forum.castle-engine.io/uploads/default/original/2X/4/48136949f377034e800896ed12f2b0b82ad11de7.jpeg)](https://castle-engine.io/wp/wp-content/uploads/2023/08/Screenshot_20230804-032111_Game-Services-Demo.jpg "Game Services Demo in Castle Game Engine") |
| [![Game Services Demo in Castle Game Engine](https://forum.castle-engine.io/uploads/default/original/2X/d/d654c0db4e4ba5a0fd787c97942d7bad9ed4e614.jpeg)](https://castle-engine.io/wp/wp-content/uploads/2023/08/Screenshot_20230804-032128_Game-Services-Demo.jpg "Game Services Demo in Castle Game Engine") |

First of all, you can actually test our Android integration (and many upgrades described below) by trying out these [test applications (APK) on your Android device](https://drive.google.com/drive/folders/1nh_tyap2e3rAVuI_W5rwhMthYzM6_7yb?usp=sharing).

We are also releasing these demo applications (and more!) on Google Play, to give everyone a really easy way to test CGE on Android. More about it when we’ll upload and publish everything 🙂

Now, the details about the Android changes done lately:

1. **[Google Play Games](https://github.com/castle-engine/castle-engine/blob/master/tools/build-tool/data/android/integrated-services/google_play_games/README.adoc) integration code was upgraded** to use the latest (v1) API. Building of Android packages doesn’t make any “deprecation” warnings anymore.

2. **Example [examples/mobile/game\_services](https://github.com/castle-engine/castle-engine/tree/master/examples/mobile/game_services) presents how to use _Google Play Games_**. It show using automatic sign-in, achievements, leaderboards, savegames.

3. **Updated OpenAL (sound playback) service on Android** (thank you to _Andrzej Kilijański_!).

4. **Updated [Google AdMob](https://admob.google.com/home/)** on Android to use latest API – 22.1.0. (Thanks to _Andrzej Kilijański_!).

5. **Increased Android compilation SDK level to 33**.

6. **Increased also Android minimum SDK level to 21**. This means [CGE supports only Android \>= 5.0](https://en.wikipedia.org/wiki/Android_version_history).

7. **Various pieces of the Android build process updated** , to use latest [Android Gradle plugin (8.1.0)](https://developer.android.com/build/releases/gradle-plugin), [Gradle (8.0)](https://docs.gradle.org/current/userguide/userguide.html), [CMake](https://developer.android.com/ndk/guides/cmake), [AndroidX](https://developer.android.com/jetpack/androidx/) approaches, and generally follow latest recommended practices.

8. **Documentation updates** :

9. The **“base” Android project type was removed** , as it was only a maintenance burden at this point.

10. **Android services `heyzap` and `google_analytics` have been removed**. The ecosystem moves fast, and some things just [aren’t available anymore](https://castle-engine.io/android_services#_past_removed_services).

---

<div class="post-metadata">

### Author: ![Hamid](https://forum.castle-engine.io/user_avatar/forum.castle-engine.io/hamid/32/2741_2.png) [@Hamid](https://forum.castle-engine.io/u/Hamid)
#### Post date: [January 11, 2026, 5:17pm UTC](https://forum.castle-engine.io/t/android-upgraded-everything-google-play-services-openal-admob-api-level-gradle/870/2 "2026-01-11T17:17:09Z")

</div>

Is Android development available using Delphi or FPC?  
If it is available with Delphi, which versions support it? Does Delphi 12 support Android?  
If it is available with FPC, how can it be configured and set up?  
Thank you.

---

<div class="post-metadata">

### Author: ![kagamma](https://forum.castle-engine.io/user_avatar/forum.castle-engine.io/kagamma/32/226_2.png) [@kagamma](https://forum.castle-engine.io/u/kagamma)
#### Post date: [January 12, 2026, 1:58am UTC](https://forum.castle-engine.io/t/android-upgraded-everything-google-play-services-openal-admob-api-level-gradle/870/3 "2026-01-12T01:58:08Z")

</div>

CGE has a dedicated webpage to guide you on how to set up the environment: [Android | Manual | Castle Game Engine](https://castle-engine.io/android)  
It is only available for FPC for now.

---

<div class="post-metadata">

### Author: ![Hamid](https://forum.castle-engine.io/user_avatar/forum.castle-engine.io/hamid/32/2741_2.png) [@Hamid](https://forum.castle-engine.io/u/Hamid)
#### Post date: [January 12, 2026, 7:50am UTC](https://forum.castle-engine.io/t/android-upgraded-everything-google-play-services-openal-admob-api-level-gradle/870/4 "2026-01-12T07:50:20Z")

</div>

Yes, I saw that link afterward and read it.  
Unfortunately, I have never been able to get FPC working for anything other than Windows, and this has been a nightmare for me.

I have never worked with fpcupdeluxe before.  
I downloaded it, and it seems that everything is being installed properly.

---

<div class="post-metadata">

### Author: ![michalis](https://forum.castle-engine.io/user_avatar/forum.castle-engine.io/michalis/32/3_2.png) [@michalis](https://forum.castle-engine.io/u/michalis)
#### Post date: [January 14, 2026, 10:20am UTC](https://forum.castle-engine.io/t/android-upgraded-everything-google-play-services-openal-admob-api-level-gradle/870/5 "2026-01-14T10:20:20Z")

</div>

> [@Hamid](#):
>
> Unfortunately, I have never been able to get FPC working for anything other than Windows, and this has been a nightmare for me.
> 
> I have never worked with fpcupdeluxe before.  
> I downloaded it, and it seems that everything is being installed properly.

I understand stuff can be difficult – if you write more precisely “how it was nightmare” we can likely help:) I’ve done the setup for FPC + Android on numerous systems now, building for Android from both Windows and Linux over the years. We can help, if you describe in as much details as possible what you did – steps you did (following [Android | Manual | Castle Game Engine](https://castle-engine.io/android) ) , screenshots, any error/ warning messages you get. We will get there:)

---

<div class="post-metadata">

### Author: ![Hamid](https://forum.castle-engine.io/user_avatar/forum.castle-engine.io/hamid/32/2741_2.png) [@Hamid](https://forum.castle-engine.io/u/Hamid)
#### Post date: [January 14, 2026, 10:41am UTC](https://forum.castle-engine.io/t/android-upgraded-everything-google-play-services-openal-admob-api-level-gradle/870/6 "2026-01-14T10:41:08Z")

</div>

> [@michalis](#):
>
> I understand stuff can be difficult – if you write more precisely “how it was nightmare” we can likely help:) I’ve done the setup for FPC + Android on numerous systems now, building for Android from both Windows and Linux over the years. We can help, if you describe in as much details as possible what you did – steps you did (following [Android | Manual | Castle Game Engine](https://castle-engine.io/android) ) , screenshots, any error/ warning messages you get. We will get there:)

I was not familiar with fpcupdeluxe before, and enabling Android support for FPC was quite difficult for me.  
After reading the CGE documentation, I became familiar with fpcupdeluxe, and with just a few clicks I was able to enable the Android target easily.

The second part of my “nightmare” was actually due to a misunderstanding on my part.  
I initially thought that a project designed for the Windows platform could be run on Android simply by changing the target, but I later realized that this is not possible. In fact, the UI part is not reusable for Android (although I still do not know how the UI should be created for Android, which is outside the scope of this discussion).

When I finally saw my first Android application built with FPC + CGE running on a mobile screen, I truly understood the amount of effort and work that has gone into CGE.

---

<div class="post-metadata">

### Author: ![michalis](https://forum.castle-engine.io/user_avatar/forum.castle-engine.io/michalis/32/3_2.png) [@michalis](https://forum.castle-engine.io/u/michalis)
#### Post date: [January 14, 2026, 12:25pm UTC](https://forum.castle-engine.io/t/android-upgraded-everything-google-play-services-openal-admob-api-level-gradle/870/7 "2026-01-14T12:25:18Z")

</div>

> [@Hamid](#):
>
> I initially thought that a project designed for the Windows platform could be run on Android simply by changing the target, but I later realized that this is not possible. In fact, the UI part is not reusable for Android (although I still do not know how the UI should be created for Android, which is outside the scope of this discussion).

It is not always easy, but actually it is possible 🙂 All CGE projects, even our “portable editor”, can be run by just changing the target between mobile (Android etc.) and desktop (Windows etc.).

This works if you design UI using our [engine UI components](https://castle-engine.io/user_interface) and test with UI scaling enabled ([it is enabled by default](https://castle-engine.io/manual_castle_settings.php)) and use anchors for everything.

Again, I’m not saying it’s always easy for complicated projects – if you have complicated UI design that just assumes lots of space or wide screen, it’s going to need some rearrangement to account for mobile small “size factor” and e.g. portrait mode, if you chose to support it. That rearrangement can be done from code or by proving alt designs for some view parts. But for some simple projects, as you can see in CGE examples, things “just work”, you just change the target and the resulting UI is sensible on Android.
