diff --git a/Interface.cpp b/Interface.cpp
index bf1690f..6c5c764 100644
--- a/Interface.cpp
+++ b/Interface.cpp
@@ -105,7 +105,6 @@
                     out << "return;\n";
                 }
             },
-            {IMPL_STUB, nullptr /* don't generate code */}
         } /*javaImpl*/
     );
 
@@ -216,7 +215,7 @@
                 out << "return ::android::hardware::Void();";
             } } }, /*cppImpl */
             { { IMPL_INTERFACE, [](auto &out) { /* javaImpl */
-                out << "android.os.HwBinder.reportSyspropChanged();";
+                out << "android.os.HwBinder.enableInstrumentation();";
             } } } /*javaImpl */
     );
     return true;
diff --git a/build/hidl_interface.go b/build/hidl_interface.go
index 396cf67..7ed0399 100644
--- a/build/hidl_interface.go
+++ b/build/hidl_interface.go
@@ -292,7 +292,14 @@
 			Defaults:          []string{"hidl-java-module-defaults"},
 			No_framework_libs: proptools.BoolPtr(true),
 			Srcs:              []string{":" + name.javaSourcesName()},
-			Static_libs:       append(javaDependencies, "hwbinder"),
+			Static_libs:       javaDependencies,
+
+			// This should ideally be system_current, but android.hidl.base-V1.0-java is used
+			// to build framework, which is used to build system_current.  Use core_current
+			// plus hwbinder.stubs, which together form a subset of system_current that does
+			// not depend on framework.
+			Sdk_version: proptools.StringPtr("core_current"),
+			Libs:        []string{"hwbinder.stubs"},
 		})
 	}
 
diff --git a/build/properties.go b/build/properties.go
index 50477be..d2f8a35 100644
--- a/build/properties.go
+++ b/build/properties.go
@@ -54,6 +54,7 @@
 	Owner             *string
 	Defaults          []string
 	No_framework_libs *bool
+	Sdk_version       *string
 	Srcs              []string
 	Libs              []string
 	Static_libs       []string
diff --git a/test/hidl_test/Android.mk b/test/hidl_test/Android.mk
index f328223..535c9dc 100644
--- a/test/hidl_test/Android.mk
+++ b/test/hidl_test/Android.mk
@@ -31,9 +31,10 @@
     hidl_test_helper \
     hidl_test_servers
 
-LOCAL_REQUIRED_MODULES_arm64 := hidl_test_servers_32 hidl_test_client_32
-LOCAL_REQUIRED_MODULES_mips64 := hidl_test_servers_32 hidl_test_client_32
-LOCAL_REQUIRED_MODULES_x86_64 := hidl_test_servers_32 hidl_test_client_32
+ifneq ($(TARGET_2ND_ARCH),)
+LOCAL_REQUIRED_MODULES += hidl_test_servers$(TARGET_2ND_ARCH_MODULE_SUFFIX)
+LOCAL_REQUIRED_MODULES += hidl_test_client$(TARGET_2ND_ARCH_MODULE_SUFFIX)
+endif
 
 include $(BUILD_PREBUILT)
 
diff --git a/test/java_test/Android.mk b/test/java_test/Android.mk
index a41fa5d..ec9eb93 100644
--- a/test/java_test/Android.mk
+++ b/test/java_test/Android.mk
@@ -28,8 +28,8 @@
     android.hidl.manager-V1.0-java              \
     android.hardware.tests.baz-V1.0-java
 
-LOCAL_REQUIRED_MODULES_arm64 := hidl_test_java_native_32
-LOCAL_REQUIRED_MODULES_x86_64 := hidl_test_java_native_32
-LOCAL_REQUIRED_MODULES_mips64 := hidl_test_java_native_32
+ifneq ($(TARGET_2ND_ARCH),)
+LOCAL_REQUIRED_MODULES += hidl_test_java_native$(TARGET_2ND_ARCH_MODULE_SUFFIX)
+endif
 
 include $(BUILD_PREBUILT)
diff --git a/test/java_test/src/com/android/commands/hidl_test_java/HidlTestJava.java b/test/java_test/src/com/android/commands/hidl_test_java/HidlTestJava.java
index af9682e..f670732 100644
--- a/test/java_test/src/com/android/commands/hidl_test_java/HidlTestJava.java
+++ b/test/java_test/src/com/android/commands/hidl_test_java/HidlTestJava.java
@@ -292,6 +292,9 @@
         }
 
         IBaz proxy = IBaz.getService("baz");
+
+        proxy.ping();
+
         proxy.someBaseMethod();
 
         {
