Remove extra JNI libs from prebuilt APKs
If an APK specifies LOCAL_PREBUILT_JNI_LIBS embedded in the prebuilt APK, remove any that aren't listed. Restores the behavior from before I82dd3aa441712772a1d1ddd6aaf5f41179facaa7. Bug: 69500920 Test: m checkbuild Change-Id: I971a9c4206604c172d77144df4c0ed9a8b1c5dd0
This commit is contained in:
parent
dac94fff8f
commit
0e8a2ee172
|
@ -2416,11 +2416,14 @@ define uncompress-dexs
|
|||
fi
|
||||
endef
|
||||
|
||||
# Uncompress shared libraries embedded in an apk.
|
||||
# Uncompress shared JNI libraries embedded in an apk.
|
||||
#
|
||||
define uncompress-shared-libs
|
||||
if (zipinfo $@ $(PRIVATE_EMBEDDED_JNI_LIBS) 2>/dev/null | grep -v ' stor ' >/dev/null) ; then \
|
||||
$(ZIP2ZIP) -i $@ -o $@.tmp $(addprefix -0 ,$(patsubst 'lib/*.so','lib/**/*.so',$(PRIVATE_EMBEDDED_JNI_LIBS))) && \
|
||||
define uncompress-prebuilt-embedded-jni-libs
|
||||
if (zipinfo $@ 'lib/*.so' 2>/dev/null | grep -v ' stor ' >/dev/null) ; then \
|
||||
$(ZIP2ZIP) -i $@ -o $@.tmp -0 'lib/**/*.so' \
|
||||
$(if $(PRIVATE_EMBEDDED_JNI_LIBS), \
|
||||
-x 'lib/**/*.so' \
|
||||
$(addprefix -X ,$(PRIVATE_EMBEDDED_JNI_LIBS))) && \
|
||||
mv -f $@.tmp $@ ; \
|
||||
fi
|
||||
endef
|
||||
|
|
|
@ -335,11 +335,11 @@ ifeq ($(LOCAL_CERTIFICATE),PRESIGNED)
|
|||
# For PRESIGNED apks we must uncompress every .so file:
|
||||
# even if the .so file isn't for the current TARGET_ARCH,
|
||||
# we can't strip the file.
|
||||
embedded_prebuilt_jni_libs := 'lib/*.so'
|
||||
embedded_prebuilt_jni_libs :=
|
||||
endif
|
||||
ifndef embedded_prebuilt_jni_libs
|
||||
# No LOCAL_PREBUILT_JNI_LIBS, uncompress all.
|
||||
embedded_prebuilt_jni_libs := 'lib/*.so'
|
||||
embedded_prebuilt_jni_libs :=
|
||||
endif
|
||||
$(built_module): PRIVATE_EMBEDDED_JNI_LIBS := $(embedded_prebuilt_jni_libs)
|
||||
$(built_module): $(ZIP2ZIP)
|
||||
|
@ -358,7 +358,7 @@ $(built_module) : .KATI_IMPLICIT_OUTPUTS := $(dir $(LOCAL_BUILT_MODULE))package.
|
|||
endif
|
||||
$(built_module) : $(my_prebuilt_src_file) | $(ZIPALIGN) $(SIGNAPK_JAR)
|
||||
$(transform-prebuilt-to-target)
|
||||
$(uncompress-shared-libs)
|
||||
$(uncompress-prebuilt-embedded-jni-libs)
|
||||
ifeq (true, $(LOCAL_UNCOMPRESS_DEX))
|
||||
$(uncompress-dexs)
|
||||
endif # LOCAL_UNCOMPRESS_DEX
|
||||
|
|
Loading…
Reference in New Issue