OSDN Git Service

Fix native bridge wrapper
authorMichael Goffioul <michael.goffioul@lincor.com>
Fri, 18 Oct 2019 19:08:18 +0000 (15:08 -0400)
committerChih-Wei Huang <cwhuang@linux.org.tw>
Tue, 19 Nov 2019 18:02:09 +0000 (02:02 +0800)
- Be more specific about houdini files to delete (avoid deleting
  bundled system/etc/houdini*.sfs)
- Use PRODUCT_PROPERTY_OVERRIDES for ro.dalvik.vm.native.bridge to
  correctly override value from build/make/target/product/runtime_libart.mk
- Use losetup/mount to mount the houdini sfs image, toybox's mount does
  not seem to be able to mount -o loop... properly

v2: resolve conflict in nativebridge/bin/enable_nativebridge (cwhuang)

nativebridge/Android.mk
nativebridge/bin/enable_nativebridge
nativebridge/nativebridge.mk

index 378ce69..0e4922d 100644 (file)
@@ -20,7 +20,7 @@ LOCAL_SHARED_LIBRARIES := libcutils libdl liblog
 LOCAL_C_INCLUDES := system/core/libnativebridge/include
 LOCAL_MULTILIB := both
 LOCAL_POST_INSTALL_CMD := $(hide) \
-    rm -rf $(TARGET_OUT)/*/{arm*,*houdini*} {$(TARGET_OUT),$(PRODUCT_OUT)}/vendor/{*/arm*,*/*houdini*}; \
+    rm -rf $(TARGET_OUT)/{bin,lib}/{arm*,*houdini*} {$(TARGET_OUT),$(PRODUCT_OUT)}/vendor/{bin,lib}/{arm*,*houdini*}; \
     mkdir -p $(TARGET_OUT)/{lib/arm,$(if $(filter true,$(TARGET_IS_64_BIT)),lib64/arm64)}; \
     touch $(TARGET_OUT)/lib/libhoudini.so $(if $(filter true,$(TARGET_IS_64_BIT)),$(TARGET_OUT)/lib64/libhoudini.so)
 
index 44327e7..82f6ea0 100644 (file)
@@ -15,7 +15,8 @@ urls[5]=http://tinyurl.com/y6g6cx27
 
 mount_sfs()
 {
-       mount -o 'context="u:object_r:system_file:s0"' $1 $2
+       lodevice=`losetup -r -f -s $1`
+       [ -n "$lodevice" ] && mount -o 'context="u:object_r:system_file:s0"' $lodevice $2
 }
 
 if [ -z "$1" ]; then
index 6f0a236..1fa831e 100644 (file)
@@ -32,7 +32,7 @@ PRODUCT_PROPERTY_OVERRIDES += \
 endif
 
 ifneq ($(HOUDINI_PREINSTALL),intel)
-PRODUCT_DEFAULT_PROPERTY_OVERRIDES := ro.dalvik.vm.native.bridge=libnb.so
+PRODUCT_PROPERTY_OVERRIDES := ro.dalvik.vm.native.bridge=libnb.so
 
 PRODUCT_PACKAGES := libnb
 endif