Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Media3 ExoPlayer release 1.3.0 contains invalid proguard rule #1187

Closed
1 task
andreaswaltenberger opened this issue Mar 15, 2024 · 1 comment
Closed
1 task
Assignees
Labels

Comments

@andreaswaltenberger
Copy link

andreaswaltenberger commented Mar 15, 2024

Version

Media3 1.3.0

More version details

No response

Devices that reproduce the issue

Devices that do not reproduce the issue

No response

Reproducible in the demo app?

No

Reproduction steps

We are using a proprietary tool called DexGuard in our build process - this is a "variant" of ProGuard.

The latest release 1.3.0 of the exoplayer artifact contains an invalid ProGuard rule which was introduced here: 97b8f1a

The official ProGuard playground also marks this rule as invalid: https://playground.proguard.com/p/4usJIa

Expected result

The app can be built successfully with DexGuard

Actual result

Build fails with the following exception:

com.guardsquare.dexguard.cuB: Expecting type and name instead of just 'build' before '(' in line 14819 of file '/some/path/app/build/outputs/dexguard/configs/<redacted>/prerelease/consumer-rules.pro'from package 'androidx.media3',
  included from argument number 6
  at com.guardsquare.dexguard.cLm.d(DexGuard9.5.4:3434)
  at com.guardsquare.dexguard.cLm.c(DexGuard9.5.4:3247)
  at com.guardsquare.dexguard.cLm.d(DexGuard9.5.4:3208)
  at com.guardsquare.dexguard.cLm.d(DexGuard9.5.4:1410)
  at com.guardsquare.dexguard.cLm.c(DexGuard9.5.4:1292)
  at com.guardsquare.dexguard.cLm.e(DexGuard9.5.4:201)
  at com.guardsquare.dexguard.bkP.main(DexGuard9.5.4:42)

Media

Not applicable

Bug Report

@icbaker
Copy link
Collaborator

icbaker commented Mar 15, 2024

Thanks for flagging, and apologies for the breakage. We do have (internal) automated tests for these proguard configs, that ensure certain functionality continues to work on minified builds - and these fail if the line in question is removed completely, but unfortunately pass both with the current invalid form and with the corrected form including the return type.

I'll submit a change fixing the config.

copybara-service bot pushed a commit that referenced this issue Mar 15, 2024
Issue: #1187

#minor-release

PiperOrigin-RevId: 616112879
copybara-service bot pushed a commit to google/ExoPlayer that referenced this issue Mar 15, 2024
@icbaker icbaker closed this as completed Mar 15, 2024
SheenaChhabra pushed a commit that referenced this issue Apr 8, 2024
Issue: #1187

#minor-release

PiperOrigin-RevId: 616112879
(cherry picked from commit 48cffc8)
l1068 pushed a commit to l1068org/media that referenced this issue Apr 15, 2024
Issue: androidx#1187

#minor-release

PiperOrigin-RevId: 616112879
(cherry picked from commit 48cffc8)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants