Search Issue Tracker

Fixed

Fixed in 2021.3.31f1, 2022.3.10f1, 2023.1.14f1, 2023.2.0b10, 2023.3.0a5, 2024.1.0a1

Votes

4

Found in

2021.3.29f1

2022.3.5f1

2023.1.6f1

2023.2.0b2

2023.3.0a1

2024.1.0a1

Issue ID

UUM-44744

Regression

No

[Android] Regex in CheckPlayLibraryAdded Incorrectly Identifies Play Core-Common Libraries

--

-

*Reproduction:*
# In attached project, under Edit -> Project Settings -> Player -> Publishing Settings, enable the "{*}Custom Main Gradle Template{*}" checkbox
# Navigate to file Assets/Plugins/Android/mainTemplate.gradle. Under the other implementation line, add this line:
implementation "com.google.android.play:core-common:2.0.0"
# Enable *Build App Bundle* and *Split Application Binary*
# Build and run to testing device
# Observe the error messages seen in console, namely "Can't determine the version of Play Core dependency "com.google.android.play:core". Upgrade to Play Asset Delivery library to ensure it is at least version 2.0.0, which is the default version used by Unity for Play Asset Delivery.", and debug message "Detected "com.google.android.play:core" in Assets/Plugins/Android/mainTemplate.gradle. Assuming the dependency is already added".

 

{*}Expected Result{*}: No errors or messages
{*}Actual Result{*}: "Can't determine version..." error and debug message detecting play core library when it has not been included

 

*Details:*

CheckPlayLibraryAdded in ExtensionModule.cs uses Regex to find Google PlayCore or PlayAssetDelivery dependencies included in Gradle template files.

Due to the format of the search (mentioned in slack thread), it is confusing the "com.google.android.play:core" and "com.google.android.play:core-common" libraries, leading to "Can't determine version" and upgrade prompts. Regex needs to be fixed so as not to confuse the libraries, as the Core-Common library is unrelated to asset delivery and does not interfere if asset delivery libraries were to be added.

 

{*}Reproducible Versions{*}: 2023.3.0a1, also suspected to reproduce on: 23.2, 23.1, 22.3 and 21.3

 

{*}Reproducible Devices{*}:
* Pixel 6a, CPU: Google Tensor, GPU: Mali-G78, OS: 12

  1. Resolution Note (fix version 2023.3.0a5):

    [Android] Check for Play Libraries was fixed to ignore Play Core-Common libraries and only throw errors for Play Core as expected. Tests were modified following the fix, and changed for efficiency.

  2. Resolution Note (fix version 2023.2.0b10):

    [Android][2023.2] Check for Play Libraries was fixed to ignore Play Core-Common libraries and only throw errors for Play Core as expected. Tests were modified following the fix, and changed for efficiency.

  3. Resolution Note (fix version 2023.1.14f1):

    [Android][2023.1] Check for Play Libraries was fixed to ignore Play Core-Common libraries and only throw errors for Play Core as expected. Tests were modified following the fix, and changed for efficiency.

  4. Resolution Note (fix version 2022.3.10f1):

    [Android][2022.3] Check for Play Libraries was fixed to ignore Play Core-Common libraries and only throw errors for Play Core as expected. Tests were modified following the fix, and changed for efficiency.

  5. Resolution Note (fix version 2021.3.31f1):

    [Android][2021.3] Check for Play Libraries was fixed to ignore Play Core-Common libraries and only show warnings/log messages for Play Core as expected. Tests were modified following the fix, and changed for efficiency.

Comments (1)

  1. ShmulikA-CL

    Mar 19, 2024 10:07

    Hey, this issue seems to have been reintroduced in unity 2021.3.35f.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.