From 25b9222a43a599cccbce856bb72f4190059a30c8 Mon Sep 17 00:00:00 2001 From: Jiyong Park Date: Fri, 17 May 2024 22:58:54 +0000 Subject: Revert^2 "Install jni symlinks in Soong" b7646e4d4ff20002c658ab667b4c1892bc3f0f1d This is a relanding of I0930cb1ebb8ca8a6efd64b1ce2cdfd1c47fe19ef plus some forward fix described below: Export non-embedded JNI lib names via LOCAL_REQUIRED_MODULES The non-embedded JNI libs are installed as the dependencies of the APK. However, that dependency is not revealed to the Make world and as a result, the JNI libs are dropped from the file_list.txt file which Make uses to filter files to include in the image file. Adding the lib names to LOCAL_REQUIRED_MODULES fixes it. Bug: 341335305 Bug: 330276359 Test: m out/target/product/vsoc_x86_64_only/obj/PACKAGING/system_intermediates/file_list.txt and check if libcarservicejni.so is there Test: go test ./... under soong/java Change-Id: If915a05909129c92fab7a6cbbd0c4c55f5ced598 --- java/androidmk.go | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) (limited to 'java/androidmk.go') diff --git a/java/androidmk.go b/java/androidmk.go index 4f740b231..a1bc90494 100644 --- a/java/androidmk.go +++ b/java/androidmk.go @@ -17,7 +17,6 @@ package java import ( "fmt" "io" - "strings" "android/soong/android" @@ -414,22 +413,11 @@ func (app *AndroidApp) AndroidMkEntries() []android.AndroidMkEntries { jniSymbols := app.JNISymbolsInstalls(app.installPathForJNISymbols.String()) entries.SetString("LOCAL_SOONG_JNI_LIBS_SYMBOLS", jniSymbols.String()) } else { + var names []string for _, jniLib := range app.jniLibs { - entries.AddStrings("LOCAL_SOONG_JNI_LIBS_"+jniLib.target.Arch.ArchType.String(), jniLib.name) - var partitionTag string - - // Mimic the creation of partition_tag in build/make, - // which defaults to an empty string when the partition is system. - // Otherwise, capitalize with a leading _ - if jniLib.partition == "system" { - partitionTag = "" - } else { - split := strings.Split(jniLib.partition, "/") - partitionTag = "_" + strings.ToUpper(split[len(split)-1]) - } - entries.AddStrings("LOCAL_SOONG_JNI_LIBS_PARTITION_"+jniLib.target.Arch.ArchType.String(), - jniLib.name+":"+partitionTag) + names = append(names, jniLib.name) } + entries.AddStrings("LOCAL_REQUIRED_MODULES", names...) } if len(app.jniCoverageOutputs) > 0 { -- cgit v1.2.3-59-g8ed1b