+38
−0
+11
−0
Loading
Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more
Consider this case: app --(jni_libs)--> libfoo --(shared_libs)--> libprivate Only libfoo is embedded into the app. libprivate is not embedded because libprivate is very likely to be depended on by other components in the platform, in which case it will anyway be installed to /system/lib. Embedding libprivate into the app will increase the storage usage as a whole. Furthermore, if libprivate is not a shared lib but a config file (of type prebuilt_etc), it can't be embedded and therefore must be installed outside of the app. However, a problem occurs when libprivate is not depended on by anyone else. Then libprivate is not installed to the system partition, causing an error at runtime. This CL fixes that by making the jni_libs dependency to implement the new SKipToTransitiveDepsTag interface. Now, jni_libs themselves are not installed, but their transitive deps are depended on by the app containing the jni libs. Bug: 330276359 Test: m NfcNci and check if libnfc-nci.config is installed. Test: m CarService and check android.hardware.automotive.evs-V2-ndk.so is installed as well. Test: go test ./... under soong/java Change-Id: I04cc92b7fad768a20ec60a02b3e7534641b1e74d