Install transitive deps of jni libs, but not the jni libs themselves
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
Loading
Please register or sign in to comment