Status Update
Comments
xa...@google.com <xa...@google.com> #2
I feel like we probably want a way to notify the app developer that the library does something like this, so that they can choose. This should be overridable at the app level though of course (so that the notification isn't noisy on every build).
We should also look at preventing that from happening when building AARs with AGP.
sp...@google.com <sp...@google.com> #3
I feel like we probably want a way to notify the app developer that the library does something like this, so that they can choose.
Yes, I think there should be a warning for the extractNativeLibs
case... I don't think we need a warning for the useEmbeddedDex
case.
This should be overridable at the app level though of course (so that the notification isn't noisy on every build).
I'm thinking the cleanest way to allow the user to silence the warning is by setting a value for jniLibs.useLegacyPackaging
in the DSL. i.e., AGP will warn unless jniLibs.useLegacyPackaging
is set in the DSL.
sp...@google.com <sp...@google.com> #4
Handling of extractNativeLibs was fixed
I'm thinking the cleanest way to allow the user to silence the warning is by setting a value for jniLibs.useLegacyPackaging in the DSL. i.e., AGP will warn unless jniLibs.useLegacyPackaging is set in the DSL.
There were issues with this, so instead users can silence the warning by adding android.experimental.suppressExtractNativeLibsWarnings=true
to the
gradle.properties
file.
Description
Currently, if an Android library dependency has `android:extractNativeLibs` or `android:useEmbeddedDex` set in its manifest, that attribute will be merged into any downstream app's merged manifest.
The desired behavior is to ignore these attributes from dependent library manifests, but doing so might cause some breakages (e.g., some libraries might currently set `android:extractNativeLibs=true` because they package native libraries that don't work correctly without that setting).