Play Console Error SDK34+: "This app targets Android 14 or above, and your current Play Billing Library version doesn't support Android 14. To target the latest Android version, please update your PBL version to either 5.2.1, or 6.0.1 and above"

Hello,

I tried uploading a game to the google play console for internal testing using target sdk level 33. when doing so, the following warning appears:

It seems that starting august 2024, the required target sdk for new apps will be 34 or above as seen here: Meet Google Play’s target API level requirement | Android Developers

Doing so, and changing the target sdk to either 34 or 35, produces the following error however:

I went and checked the current version of the referenced library, and it seems to be 6.0.0 as seen below:

playBillingCurrent

Currently, I am using Engine Version 5.3.2, however I checked Version 5.4.3 and the version of the billing library seems to still be 6.0.0.

Right now, I can still upload the app bundle with target sdk 33 for internal testing since it is only a warning, but I am worrying that this will change either in august, or when I try to fully release the game.

A video showing on how to update the billing library to 6.0.0 for engine version 4.27 exists, but it works only because it takes folders from newer engine versions and adds them to the older one I am assuming, which then would not work in this case because there is no engine version that provides 6.0.1. Video in question: Upgrade Unreal engine Billing Version to 6 | Fix google play billing version requirement UE 4.27 - YouTube

Is this an issue that I can/must resolve myself, or will this be updated on the engine side by august? If it will not, is there any pointers on how I can approach this?

2 Likes

Same Issue

1 Like


@Aquantar
how u fix that?
image

1 Like

Try adding this line of code to build.gradle at the dependency block

Directory location: UE_5.4\Engine\Build\Android\Java\gradle\app

def billing_version = “6.1.0”
implementation “com.android.billingclient:billing:$billing_version”

Sample:
dependencies {

def billing_version = "6.1.0"
implementation "com.android.billingclient:billing:$billing_version"

}

5 Likes

Did not encounter that one as far as I can remember, sorry

1 Like

That DID actually work, as in the error in play console is not there and I can upload the app bundle.

I cannot confirm or deny that all billing functions work as they should, or whether there will be other problems, but so far no issues on my end with uploading the app as sdk version 34, at least for internal testing. Thanks!

3 Likes

Thank you

1 Like

Hi, I’m on 4.27 UE version. Anyone know a fix for that? This didn’t seem to help. Or maybe i put the code in the wrong place. Thanks

2 Likes

I’m sorry, but I’m not familiar with the 4.27 version of Unreal Engine. When I started using Unreal, I used version 5.3.2, and right now I’m using 5.4.3.

Here’s the screenshot of the code inside build.gradle at UE_5.4\Engine\Build\Android\Java\gradle\app :

image

2 Likes

Update:
While the error in play console itself is fixed after the solution Jambarrus provided above, when actually downloading and launching the uploaded game, it is stuck in a blackscreen. This is confined to sdk34+ as with sdk33, the game works as intended.

I’m not sure if this is related to the actual topic of the billing library, or another issue, but while investigating myself I wanted to already mention this here to see if anyone else is/has been encountering this already.

So my question to anyone reading this: Does your game work with sdk34 right now when uploaded through play console or is this a me issue? Have you encountered the same thing and solved it already?

Here are the warnings I am seeing currently when trying to upload, but whether solving them would solve this issue i’m not sure:

UPDATE:
Fixed it, for anyone else encountering this issue, here is what i ticked and it has nothing to do with the main topic of the thread, but ill leave it up incase it helps someone at some point:

1 Like

To fix the warning related to androidx.fragment, try adding this line of code to additions.gradle located at UE_5.4\Engine\Source\ThirdParty\AndroidPermission\permission_library

constraints.implementation ‘androidx.fragment:fragment:1.3.6’

for reference:

image

2 Likes

do you face any problem whenn addig this.i cant package using this

1 Like

You are such a great help mate, works and even gets rid of the play core maven warning. Thanks a bunch

Just one note, you are using some different type of apostrophe in the provided code snippet which is also why the person above my reply could not package it, it works fine when those are changed to normal, like this one: ’ (looking at it again, mine looks the same as yours when I type it in here, weird. Unreal forums thing i guess)

If I may ask a question, how do you know where to go to fix these issues? I suspect stuff like this will happen in the future aswell, and I dont know how I would have figured this out on my own.

1 Like

Through searching, I make use of the Unreal Forum, Unreal Discord, and ChatGPT. These resources are incredibly helpful for finding solutions and troubleshooting various issues that come up during development. Additionally, sometimes the problem was already fixed in an old Unreal Forum thread but is still marked as unresolved. That’s why it’s important to really look and test everything.

2 Likes

Try the suggestion below, typing the apostrophe manually.

1 Like

I am also using UE 4.27 and has upgraded my billing version to 6.0.0 but for the API level when I try using API 24 or 25 I get error almost at the end of packaging the game please if you happen to figure it out help me out too

1 Like

Exact same issue here, targeted API 34, UE4.27.2 Source, Billing version 6.0.0 and it requires 6.0.1

1 Like

Using Unreal Engine 5.3.2
I got it work for my app to be published targeting android SDK 34 without any changes, just putting the target to 34 in the settings. Of course I also a downloaded the new android API and related NDK from Android Studio.

But now I can not login anymore to Google Play Services, when I call Show External Login UI blueprint nothing happens… It is really frustrating…

Any idea what need to be done to make it work again…

I read somewhere that when we target above 33 it does not work anymore but today google requires us to target at least 34…

1 Like

Sir, if I may ask please I was thinking on setting my billing version to 6.0.0.1 then package with the SDK 34 since billing version 6.0.0.0 is giving error when packaging with SDK 34 almost at the end of packaging. I am also using UE4. 27.2

What error does it give?