-
Notifications
You must be signed in to change notification settings - Fork 4.1k
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
proguard does not work with android-24 and above #3777
Comments
It appears that the proguard in the Android SDK is 4.7, while java8 support was not added until proguard 5.0. It seems gradle does not use proguard from the SDK, instead it gets a newer version elsewhere. |
Our choices are:
@ahumesky , do you have a preference? |
On second thought #1 will not work, because if there are static interface methods in the android.jar, there will be a mismatch between what the methods present when proguarding and the methods present on the device. |
Bundling proguard.jar would add about 800k to the Bazel binary size |
Ideally we would just get an updated proguard in the SDK, but in the meantime we can just bundle it. If the SDK gets an updated version then we can unbundle it and switch to that one. |
Updating proguard in the Android SDK is in the public android issue tracker: https://issuetracker.google.com/issues/37047494 |
[breakage label is for regression observed on ci to help sheriff triage new failure] |
Ah ok, I’ll keep that in mind. Unfortunately we don’t have integration test coverage for proguard I’m bazel. Otherwise this would have been observed on ci |
See #3777 The Android SDK provides a very old proguard and will be removing it soon, so we need to bundle our own. Change-Id: I054c54130bef1befc8591598768184fe23f76161 RELNOTES: None
Fixing android's api to 29 since it seems like api 30 has some bazel proguard issues which are similar to: bazelbuild/bazel#3777 For an explanation of how to fill out the fields, please see the relevant section in [PULL_REQUESTS.md](https://github.com/envoyproxy/envoy/blob/master/PULL_REQUESTS.md) Description: android: fixate api_level to be 29 Risk Level: low Testing: ci Docs Changes: n/a Release Notes: n/a [Optional Fixes #Issue] [Optional Deprecated:]
Fixing android's api to 29 since it seems like api 30 has some bazel proguard issues which are similar to: bazelbuild/bazel#3777 For an explanation of how to fill out the fields, please see the relevant section in [PULL_REQUESTS.md](https://github.com/envoyproxy/envoy/blob/master/PULL_REQUESTS.md) Description: android: fixate api_level to be 29 Risk Level: low Testing: ci Docs Changes: n/a Release Notes: n/a [Optional Fixes #Issue] [Optional Deprecated:] Signed-off-by: JP Simard <jp@jpsim.com>
Fixing android's api to 29 since it seems like api 30 has some bazel proguard issues which are similar to: bazelbuild/bazel#3777 For an explanation of how to fill out the fields, please see the relevant section in [PULL_REQUESTS.md](https://github.com/envoyproxy/envoy/blob/master/PULL_REQUESTS.md) Description: android: fixate api_level to be 29 Risk Level: low Testing: ci Docs Changes: n/a Release Notes: n/a [Optional Fixes #Issue] [Optional Deprecated:] Signed-off-by: JP Simard <jp@jpsim.com>
Starting with android-24, the android.jar contains class files with version 52.0. when an android_binary has the proguard_specs attribute, we end up passing android.jar to proguard which chokes because the versions of proguard included in the android sdk do not have support for java 8.
The text was updated successfully, but these errors were encountered: