Update makefiles for hidl_interface.

Bug: 35570956
Test: manual
Change-Id: I7a220b78ee081240e1dc30ef5672ba39e3e98375
diff --git a/tests/bar/1.0/Android.bp b/tests/bar/1.0/Android.bp
index be286b5..45c84bc 100644
--- a/tests/bar/1.0/Android.bp
+++ b/tests/bar/1.0/Android.bp
@@ -1,7 +1,8 @@
-// This file is autogenerated by hidl-gen. Do not edit manually.
+// This file is autogenerated by hidl-gen -Landroidbp.
 
-filegroup {
-    name: "android.hardware.tests.bar@1.0_hal",
+hidl_interface {
+    name: "android.hardware.tests.bar@1.0",
+    root: "android.hardware",
     srcs: [
         "types.hal",
         "IBar.hal",
@@ -10,176 +11,13 @@
         "IImportRules.hal",
         "IImportTypes.hal",
     ],
-}
-
-genrule {
-    name: "android.hardware.tests.bar@1.0_genc++",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-sources -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.bar@1.0",
-    srcs: [
-        ":android.hardware.tests.bar@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/bar/1.0/types.cpp",
-        "android/hardware/tests/bar/1.0/BarAll.cpp",
-        "android/hardware/tests/bar/1.0/ComplicatedAll.cpp",
-        "android/hardware/tests/bar/1.0/FooCallbackAll.cpp",
-        "android/hardware/tests/bar/1.0/ImportRulesAll.cpp",
-        "android/hardware/tests/bar/1.0/ImportTypesAll.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.bar@1.0_genc++_headers",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-headers -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.bar@1.0",
-    srcs: [
-        ":android.hardware.tests.bar@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/bar/1.0/types.h",
-        "android/hardware/tests/bar/1.0/hwtypes.h",
-        "android/hardware/tests/bar/1.0/IBar.h",
-        "android/hardware/tests/bar/1.0/IHwBar.h",
-        "android/hardware/tests/bar/1.0/BnHwBar.h",
-        "android/hardware/tests/bar/1.0/BpHwBar.h",
-        "android/hardware/tests/bar/1.0/BsBar.h",
-        "android/hardware/tests/bar/1.0/IComplicated.h",
-        "android/hardware/tests/bar/1.0/IHwComplicated.h",
-        "android/hardware/tests/bar/1.0/BnHwComplicated.h",
-        "android/hardware/tests/bar/1.0/BpHwComplicated.h",
-        "android/hardware/tests/bar/1.0/BsComplicated.h",
-        "android/hardware/tests/bar/1.0/IFooCallback.h",
-        "android/hardware/tests/bar/1.0/IHwFooCallback.h",
-        "android/hardware/tests/bar/1.0/BnHwFooCallback.h",
-        "android/hardware/tests/bar/1.0/BpHwFooCallback.h",
-        "android/hardware/tests/bar/1.0/BsFooCallback.h",
-        "android/hardware/tests/bar/1.0/IImportRules.h",
-        "android/hardware/tests/bar/1.0/IHwImportRules.h",
-        "android/hardware/tests/bar/1.0/BnHwImportRules.h",
-        "android/hardware/tests/bar/1.0/BpHwImportRules.h",
-        "android/hardware/tests/bar/1.0/BsImportRules.h",
-        "android/hardware/tests/bar/1.0/IImportTypes.h",
-        "android/hardware/tests/bar/1.0/IHwImportTypes.h",
-        "android/hardware/tests/bar/1.0/BnHwImportTypes.h",
-        "android/hardware/tests/bar/1.0/BpHwImportTypes.h",
-        "android/hardware/tests/bar/1.0/BsImportTypes.h",
-    ],
-}
-
-cc_library {
-    name: "android.hardware.tests.bar@1.0",
-    defaults: ["hidl-module-defaults"],
-    generated_sources: ["android.hardware.tests.bar@1.0_genc++"],
-    generated_headers: ["android.hardware.tests.bar@1.0_genc++_headers"],
-    export_generated_headers: ["android.hardware.tests.bar@1.0_genc++_headers"],
-    vendor_available: true,
-    shared_libs: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "liblog",
-        "libutils",
-        "libcutils",
+    interfaces: [
         "android.hardware.tests.foo@1.0",
+        "android.hidl.base@1.0",
     ],
-    export_shared_lib_headers: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "libutils",
-        "android.hardware.tests.foo@1.0",
+    types: [
+        "Def",
     ],
+    gen_java: false,
 }
 
-// This package is not java compatible. Not creating java target.
-
-// This package does not export any types. Not creating java constants export.
-
-
-genrule {
-    name: "android.hardware.tests.bar@1.0-adapter-helper_genc++",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-sources -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.bar@1.0",
-    srcs: [
-        ":android.hardware.tests.bar@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/bar/1.0/ABar.cpp",
-        "android/hardware/tests/bar/1.0/AComplicated.cpp",
-        "android/hardware/tests/bar/1.0/AFooCallback.cpp",
-        "android/hardware/tests/bar/1.0/AImportRules.cpp",
-        "android/hardware/tests/bar/1.0/AImportTypes.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.bar@1.0-adapter-helper_genc++_headers",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-headers -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.bar@1.0",
-    srcs: [
-        ":android.hardware.tests.bar@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/bar/1.0/ABar.h",
-        "android/hardware/tests/bar/1.0/AComplicated.h",
-        "android/hardware/tests/bar/1.0/AFooCallback.h",
-        "android/hardware/tests/bar/1.0/AImportRules.h",
-        "android/hardware/tests/bar/1.0/AImportTypes.h",
-    ],
-}
-
-cc_library {
-    name: "android.hardware.tests.bar@1.0-adapter-helper",
-    defaults: ["hidl-module-defaults"],
-    generated_sources: ["android.hardware.tests.bar@1.0-adapter-helper_genc++"],
-    generated_headers: ["android.hardware.tests.bar@1.0-adapter-helper_genc++_headers"],
-    export_generated_headers: ["android.hardware.tests.bar@1.0-adapter-helper_genc++_headers"],
-    vendor_available: true,
-    shared_libs: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "liblog",
-        "libutils",
-        "libcutils",
-        "libhidladapter",
-        "android.hardware.tests.bar@1.0",
-        "android.hardware.tests.foo@1.0",
-        "android.hardware.tests.foo@1.0-adapter-helper",
-        "android.hidl.base@1.0-adapter-helper",
-    ],
-    export_shared_lib_headers: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "libutils",
-        "libhidladapter",
-        "android.hardware.tests.bar@1.0",
-        "android.hardware.tests.foo@1.0",
-        "android.hardware.tests.foo@1.0-adapter-helper",
-        "android.hidl.base@1.0-adapter-helper",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.bar@1.0-adapter_genc++",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-main -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.bar@1.0",
-    out: ["main.cpp"]
-}
-
-cc_test {
-    name: "android.hardware.tests.bar@1.0-adapter",
-    defaults: ["hidl-module-defaults"],
-    shared_libs: [
-        "libhidladapter",
-        "libhidlbase",
-        "libhidltransport",
-        "libutils",
-        "android.hardware.tests.bar@1.0",
-        "android.hardware.tests.foo@1.0",
-        "android.hardware.tests.bar@1.0-adapter-helper",
-    ],
-    generated_sources: ["android.hardware.tests.bar@1.0-adapter_genc++"],
-}
diff --git a/tests/baz/1.0/Android.bp b/tests/baz/1.0/Android.bp
index 6281ddc..edf8fe6 100644
--- a/tests/baz/1.0/Android.bp
+++ b/tests/baz/1.0/Android.bp
@@ -1,7 +1,8 @@
-// This file is autogenerated by hidl-gen. Do not edit manually.
+// This file is autogenerated by hidl-gen -Landroidbp.
 
-filegroup {
-    name: "android.hardware.tests.baz@1.0_hal",
+hidl_interface {
+    name: "android.hardware.tests.baz@1.0",
+    root: "android.hardware",
     srcs: [
         "types.hal",
         "IBase.hal",
@@ -9,185 +10,11 @@
         "IBazCallback.hal",
         "IQuux.hal",
     ],
+    interfaces: [
+        "android.hidl.base@1.0",
+    ],
+    types: [
+    ],
+    gen_java: true,
 }
 
-genrule {
-    name: "android.hardware.tests.baz@1.0_genc++",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-sources -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.baz@1.0",
-    srcs: [
-        ":android.hardware.tests.baz@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/baz/1.0/types.cpp",
-        "android/hardware/tests/baz/1.0/BaseAll.cpp",
-        "android/hardware/tests/baz/1.0/BazAll.cpp",
-        "android/hardware/tests/baz/1.0/BazCallbackAll.cpp",
-        "android/hardware/tests/baz/1.0/QuuxAll.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.baz@1.0_genc++_headers",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-headers -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.baz@1.0",
-    srcs: [
-        ":android.hardware.tests.baz@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/baz/1.0/types.h",
-        "android/hardware/tests/baz/1.0/hwtypes.h",
-        "android/hardware/tests/baz/1.0/IBase.h",
-        "android/hardware/tests/baz/1.0/IHwBase.h",
-        "android/hardware/tests/baz/1.0/BnHwBase.h",
-        "android/hardware/tests/baz/1.0/BpHwBase.h",
-        "android/hardware/tests/baz/1.0/BsBase.h",
-        "android/hardware/tests/baz/1.0/IBaz.h",
-        "android/hardware/tests/baz/1.0/IHwBaz.h",
-        "android/hardware/tests/baz/1.0/BnHwBaz.h",
-        "android/hardware/tests/baz/1.0/BpHwBaz.h",
-        "android/hardware/tests/baz/1.0/BsBaz.h",
-        "android/hardware/tests/baz/1.0/IBazCallback.h",
-        "android/hardware/tests/baz/1.0/IHwBazCallback.h",
-        "android/hardware/tests/baz/1.0/BnHwBazCallback.h",
-        "android/hardware/tests/baz/1.0/BpHwBazCallback.h",
-        "android/hardware/tests/baz/1.0/BsBazCallback.h",
-        "android/hardware/tests/baz/1.0/IQuux.h",
-        "android/hardware/tests/baz/1.0/IHwQuux.h",
-        "android/hardware/tests/baz/1.0/BnHwQuux.h",
-        "android/hardware/tests/baz/1.0/BpHwQuux.h",
-        "android/hardware/tests/baz/1.0/BsQuux.h",
-    ],
-}
-
-cc_library {
-    name: "android.hardware.tests.baz@1.0",
-    defaults: ["hidl-module-defaults"],
-    generated_sources: ["android.hardware.tests.baz@1.0_genc++"],
-    generated_headers: ["android.hardware.tests.baz@1.0_genc++_headers"],
-    export_generated_headers: ["android.hardware.tests.baz@1.0_genc++_headers"],
-    vendor_available: true,
-    shared_libs: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "liblog",
-        "libutils",
-        "libcutils",
-    ],
-    export_shared_lib_headers: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "libutils",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.baz-V1.0-java_gen_java",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Ljava -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.baz@1.0",
-    srcs: [
-        ":android.hardware.tests.baz@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/baz/V1_0/IBase.java",
-        "android/hardware/tests/baz/V1_0/IBaz.java",
-        "android/hardware/tests/baz/V1_0/IBazCallback.java",
-        "android/hardware/tests/baz/V1_0/IQuux.java",
-    ],
-}
-
-java_library {
-    name: "android.hardware.tests.baz-V1.0-java",
-    no_framework_libs: true,
-    defaults: ["hidl-java-module-defaults"],
-    srcs: [":android.hardware.tests.baz-V1.0-java_gen_java"],
-    libs: [
-        "hwbinder",
-        "android.hidl.base-V1.0-java",
-    ]
-}
-
-// This package does not export any types. Not creating java constants export.
-
-
-genrule {
-    name: "android.hardware.tests.baz@1.0-adapter-helper_genc++",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-sources -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.baz@1.0",
-    srcs: [
-        ":android.hardware.tests.baz@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/baz/1.0/ABase.cpp",
-        "android/hardware/tests/baz/1.0/ABaz.cpp",
-        "android/hardware/tests/baz/1.0/ABazCallback.cpp",
-        "android/hardware/tests/baz/1.0/AQuux.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.baz@1.0-adapter-helper_genc++_headers",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-headers -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.baz@1.0",
-    srcs: [
-        ":android.hardware.tests.baz@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/baz/1.0/ABase.h",
-        "android/hardware/tests/baz/1.0/ABaz.h",
-        "android/hardware/tests/baz/1.0/ABazCallback.h",
-        "android/hardware/tests/baz/1.0/AQuux.h",
-    ],
-}
-
-cc_library {
-    name: "android.hardware.tests.baz@1.0-adapter-helper",
-    defaults: ["hidl-module-defaults"],
-    generated_sources: ["android.hardware.tests.baz@1.0-adapter-helper_genc++"],
-    generated_headers: ["android.hardware.tests.baz@1.0-adapter-helper_genc++_headers"],
-    export_generated_headers: ["android.hardware.tests.baz@1.0-adapter-helper_genc++_headers"],
-    vendor_available: true,
-    shared_libs: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "liblog",
-        "libutils",
-        "libcutils",
-        "libhidladapter",
-        "android.hardware.tests.baz@1.0",
-        "android.hidl.base@1.0-adapter-helper",
-    ],
-    export_shared_lib_headers: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "libutils",
-        "libhidladapter",
-        "android.hardware.tests.baz@1.0",
-        "android.hidl.base@1.0-adapter-helper",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.baz@1.0-adapter_genc++",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-main -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.baz@1.0",
-    out: ["main.cpp"]
-}
-
-cc_test {
-    name: "android.hardware.tests.baz@1.0-adapter",
-    defaults: ["hidl-module-defaults"],
-    shared_libs: [
-        "libhidladapter",
-        "libhidlbase",
-        "libhidltransport",
-        "libutils",
-        "android.hardware.tests.baz@1.0",
-        "android.hardware.tests.baz@1.0-adapter-helper",
-    ],
-    generated_sources: ["android.hardware.tests.baz@1.0-adapter_genc++"],
-}
diff --git a/tests/expression/1.0/Android.bp b/tests/expression/1.0/Android.bp
index 6209549..61ca6ac 100644
--- a/tests/expression/1.0/Android.bp
+++ b/tests/expression/1.0/Android.bp
@@ -1,169 +1,15 @@
-// This file is autogenerated by hidl-gen. Do not edit manually.
+// This file is autogenerated by hidl-gen -Landroidbp.
 
-filegroup {
-    name: "android.hardware.tests.expression@1.0_hal",
+hidl_interface {
+    name: "android.hardware.tests.expression@1.0",
+    root: "android.hardware",
     srcs: [
         "IExpression.hal",
         "IExpressionExt.hal",
     ],
+    interfaces: [
+        "android.hidl.base@1.0",
+    ],
+    gen_java: true,
 }
 
-genrule {
-    name: "android.hardware.tests.expression@1.0_genc++",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-sources -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.expression@1.0",
-    srcs: [
-        ":android.hardware.tests.expression@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/expression/1.0/ExpressionAll.cpp",
-        "android/hardware/tests/expression/1.0/ExpressionExtAll.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.expression@1.0_genc++_headers",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-headers -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.expression@1.0",
-    srcs: [
-        ":android.hardware.tests.expression@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/expression/1.0/IExpression.h",
-        "android/hardware/tests/expression/1.0/IHwExpression.h",
-        "android/hardware/tests/expression/1.0/BnHwExpression.h",
-        "android/hardware/tests/expression/1.0/BpHwExpression.h",
-        "android/hardware/tests/expression/1.0/BsExpression.h",
-        "android/hardware/tests/expression/1.0/IExpressionExt.h",
-        "android/hardware/tests/expression/1.0/IHwExpressionExt.h",
-        "android/hardware/tests/expression/1.0/BnHwExpressionExt.h",
-        "android/hardware/tests/expression/1.0/BpHwExpressionExt.h",
-        "android/hardware/tests/expression/1.0/BsExpressionExt.h",
-    ],
-}
-
-cc_library {
-    name: "android.hardware.tests.expression@1.0",
-    defaults: ["hidl-module-defaults"],
-    generated_sources: ["android.hardware.tests.expression@1.0_genc++"],
-    generated_headers: ["android.hardware.tests.expression@1.0_genc++_headers"],
-    export_generated_headers: ["android.hardware.tests.expression@1.0_genc++_headers"],
-    vendor_available: true,
-    shared_libs: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "liblog",
-        "libutils",
-        "libcutils",
-    ],
-    export_shared_lib_headers: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "libutils",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.expression-V1.0-java_gen_java",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Ljava -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.expression@1.0",
-    srcs: [
-        ":android.hardware.tests.expression@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/expression/V1_0/IExpression.java",
-        "android/hardware/tests/expression/V1_0/IExpressionExt.java",
-    ],
-}
-
-java_library {
-    name: "android.hardware.tests.expression-V1.0-java",
-    no_framework_libs: true,
-    defaults: ["hidl-java-module-defaults"],
-    srcs: [":android.hardware.tests.expression-V1.0-java_gen_java"],
-    libs: [
-        "hwbinder",
-        "android.hidl.base-V1.0-java",
-    ]
-}
-
-// This package does not export any types. Not creating java constants export.
-
-
-genrule {
-    name: "android.hardware.tests.expression@1.0-adapter-helper_genc++",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-sources -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.expression@1.0",
-    srcs: [
-        ":android.hardware.tests.expression@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/expression/1.0/AExpression.cpp",
-        "android/hardware/tests/expression/1.0/AExpressionExt.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.expression@1.0-adapter-helper_genc++_headers",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-headers -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.expression@1.0",
-    srcs: [
-        ":android.hardware.tests.expression@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/expression/1.0/AExpression.h",
-        "android/hardware/tests/expression/1.0/AExpressionExt.h",
-    ],
-}
-
-cc_library {
-    name: "android.hardware.tests.expression@1.0-adapter-helper",
-    defaults: ["hidl-module-defaults"],
-    generated_sources: ["android.hardware.tests.expression@1.0-adapter-helper_genc++"],
-    generated_headers: ["android.hardware.tests.expression@1.0-adapter-helper_genc++_headers"],
-    export_generated_headers: ["android.hardware.tests.expression@1.0-adapter-helper_genc++_headers"],
-    vendor_available: true,
-    shared_libs: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "liblog",
-        "libutils",
-        "libcutils",
-        "libhidladapter",
-        "android.hardware.tests.expression@1.0",
-        "android.hidl.base@1.0-adapter-helper",
-    ],
-    export_shared_lib_headers: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "libutils",
-        "libhidladapter",
-        "android.hardware.tests.expression@1.0",
-        "android.hidl.base@1.0-adapter-helper",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.expression@1.0-adapter_genc++",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-main -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.expression@1.0",
-    out: ["main.cpp"]
-}
-
-cc_test {
-    name: "android.hardware.tests.expression@1.0-adapter",
-    defaults: ["hidl-module-defaults"],
-    shared_libs: [
-        "libhidladapter",
-        "libhidlbase",
-        "libhidltransport",
-        "libutils",
-        "android.hardware.tests.expression@1.0",
-        "android.hardware.tests.expression@1.0-adapter-helper",
-    ],
-    generated_sources: ["android.hardware.tests.expression@1.0-adapter_genc++"],
-}
diff --git a/tests/extension/light/2.0/Android.bp b/tests/extension/light/2.0/Android.bp
index 612c2d6..58c8392 100644
--- a/tests/extension/light/2.0/Android.bp
+++ b/tests/extension/light/2.0/Android.bp
@@ -1,174 +1,21 @@
-// This file is autogenerated by hidl-gen. Do not edit manually.
+// This file is autogenerated by hidl-gen -Landroidbp.
 
-filegroup {
-    name: "android.hardware.tests.extension.light@2.0_hal",
+hidl_interface {
+    name: "android.hardware.tests.extension.light@2.0",
+    root: "android.hardware",
     srcs: [
         "types.hal",
         "ILight.hal",
     ],
-}
-
-genrule {
-    name: "android.hardware.tests.extension.light@2.0_genc++",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-sources -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.extension.light@2.0",
-    srcs: [
-        ":android.hardware.tests.extension.light@2.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/extension/light/2.0/types.cpp",
-        "android/hardware/tests/extension/light/2.0/LightAll.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.extension.light@2.0_genc++_headers",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-headers -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.extension.light@2.0",
-    srcs: [
-        ":android.hardware.tests.extension.light@2.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/extension/light/2.0/types.h",
-        "android/hardware/tests/extension/light/2.0/hwtypes.h",
-        "android/hardware/tests/extension/light/2.0/ILight.h",
-        "android/hardware/tests/extension/light/2.0/IHwLight.h",
-        "android/hardware/tests/extension/light/2.0/BnHwLight.h",
-        "android/hardware/tests/extension/light/2.0/BpHwLight.h",
-        "android/hardware/tests/extension/light/2.0/BsLight.h",
-    ],
-}
-
-cc_library {
-    name: "android.hardware.tests.extension.light@2.0",
-    defaults: ["hidl-module-defaults"],
-    generated_sources: ["android.hardware.tests.extension.light@2.0_genc++"],
-    generated_headers: ["android.hardware.tests.extension.light@2.0_genc++_headers"],
-    export_generated_headers: ["android.hardware.tests.extension.light@2.0_genc++_headers"],
-    vendor_available: true,
-    shared_libs: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "liblog",
-        "libutils",
-        "libcutils",
+    interfaces: [
         "android.hardware.light@2.0",
+        "android.hidl.base@1.0",
     ],
-    export_shared_lib_headers: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "libutils",
-        "android.hardware.light@2.0",
+    types: [
+        "Brightness",
+        "Default",
+        "LightState",
     ],
+    gen_java: true,
 }
 
-genrule {
-    name: "android.hardware.tests.extension.light-V2.0-java_gen_java",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Ljava -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.extension.light@2.0",
-    srcs: [
-        ":android.hardware.tests.extension.light@2.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/extension/light/V2_0/Brightness.java",
-        "android/hardware/tests/extension/light/V2_0/Default.java",
-        "android/hardware/tests/extension/light/V2_0/LightState.java",
-        "android/hardware/tests/extension/light/V2_0/ILight.java",
-    ],
-}
-
-java_library {
-    name: "android.hardware.tests.extension.light-V2.0-java",
-    no_framework_libs: true,
-    defaults: ["hidl-java-module-defaults"],
-    srcs: [":android.hardware.tests.extension.light-V2.0-java_gen_java"],
-    libs: [
-        "hwbinder",
-        "android.hardware.light-V2.0-java",
-        "android.hidl.base-V1.0-java",
-    ]
-}
-
-// This package does not export any types. Not creating java constants export.
-
-
-genrule {
-    name: "android.hardware.tests.extension.light@2.0-adapter-helper_genc++",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-sources -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.extension.light@2.0",
-    srcs: [
-        ":android.hardware.tests.extension.light@2.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/extension/light/2.0/ALight.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.extension.light@2.0-adapter-helper_genc++_headers",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-headers -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.extension.light@2.0",
-    srcs: [
-        ":android.hardware.tests.extension.light@2.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/extension/light/2.0/ALight.h",
-    ],
-}
-
-cc_library {
-    name: "android.hardware.tests.extension.light@2.0-adapter-helper",
-    defaults: ["hidl-module-defaults"],
-    generated_sources: ["android.hardware.tests.extension.light@2.0-adapter-helper_genc++"],
-    generated_headers: ["android.hardware.tests.extension.light@2.0-adapter-helper_genc++_headers"],
-    export_generated_headers: ["android.hardware.tests.extension.light@2.0-adapter-helper_genc++_headers"],
-    vendor_available: true,
-    shared_libs: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "liblog",
-        "libutils",
-        "libcutils",
-        "libhidladapter",
-        "android.hardware.light@2.0",
-        "android.hardware.tests.extension.light@2.0",
-        "android.hardware.light@2.0-adapter-helper",
-        "android.hidl.base@1.0-adapter-helper",
-    ],
-    export_shared_lib_headers: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "libutils",
-        "libhidladapter",
-        "android.hardware.light@2.0",
-        "android.hardware.tests.extension.light@2.0",
-        "android.hardware.light@2.0-adapter-helper",
-        "android.hidl.base@1.0-adapter-helper",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.extension.light@2.0-adapter_genc++",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-main -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.extension.light@2.0",
-    out: ["main.cpp"]
-}
-
-cc_test {
-    name: "android.hardware.tests.extension.light@2.0-adapter",
-    defaults: ["hidl-module-defaults"],
-    shared_libs: [
-        "libhidladapter",
-        "libhidlbase",
-        "libhidltransport",
-        "libutils",
-        "android.hardware.light@2.0",
-        "android.hardware.tests.extension.light@2.0",
-        "android.hardware.tests.extension.light@2.0-adapter-helper",
-    ],
-    generated_sources: ["android.hardware.tests.extension.light@2.0-adapter_genc++"],
-}
diff --git a/tests/foo/1.0/Android.bp b/tests/foo/1.0/Android.bp
index 3130270..986115c 100644
--- a/tests/foo/1.0/Android.bp
+++ b/tests/foo/1.0/Android.bp
@@ -1,7 +1,8 @@
-// This file is autogenerated by hidl-gen. Do not edit manually.
+// This file is autogenerated by hidl-gen -Landroidbp.
 
-filegroup {
-    name: "android.hardware.tests.foo@1.0_hal",
+hidl_interface {
+    name: "android.hardware.tests.foo@1.0",
+    root: "android.hardware",
     srcs: [
         "types.hal",
         "IFoo.hal",
@@ -10,169 +11,15 @@
         "ISimple.hal",
         "ITheirTypes.hal",
     ],
+    interfaces: [
+        "android.hidl.base@1.0",
+    ],
+    types: [
+        "Abc",
+        "Def",
+        "Outer",
+        "Unrelated",
+    ],
+    gen_java: false,
 }
 
-genrule {
-    name: "android.hardware.tests.foo@1.0_genc++",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-sources -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.foo@1.0",
-    srcs: [
-        ":android.hardware.tests.foo@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/foo/1.0/types.cpp",
-        "android/hardware/tests/foo/1.0/FooAll.cpp",
-        "android/hardware/tests/foo/1.0/FooCallbackAll.cpp",
-        "android/hardware/tests/foo/1.0/MyTypesAll.cpp",
-        "android/hardware/tests/foo/1.0/SimpleAll.cpp",
-        "android/hardware/tests/foo/1.0/TheirTypesAll.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.foo@1.0_genc++_headers",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-headers -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.foo@1.0",
-    srcs: [
-        ":android.hardware.tests.foo@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/foo/1.0/types.h",
-        "android/hardware/tests/foo/1.0/hwtypes.h",
-        "android/hardware/tests/foo/1.0/IFoo.h",
-        "android/hardware/tests/foo/1.0/IHwFoo.h",
-        "android/hardware/tests/foo/1.0/BnHwFoo.h",
-        "android/hardware/tests/foo/1.0/BpHwFoo.h",
-        "android/hardware/tests/foo/1.0/BsFoo.h",
-        "android/hardware/tests/foo/1.0/IFooCallback.h",
-        "android/hardware/tests/foo/1.0/IHwFooCallback.h",
-        "android/hardware/tests/foo/1.0/BnHwFooCallback.h",
-        "android/hardware/tests/foo/1.0/BpHwFooCallback.h",
-        "android/hardware/tests/foo/1.0/BsFooCallback.h",
-        "android/hardware/tests/foo/1.0/IMyTypes.h",
-        "android/hardware/tests/foo/1.0/IHwMyTypes.h",
-        "android/hardware/tests/foo/1.0/BnHwMyTypes.h",
-        "android/hardware/tests/foo/1.0/BpHwMyTypes.h",
-        "android/hardware/tests/foo/1.0/BsMyTypes.h",
-        "android/hardware/tests/foo/1.0/ISimple.h",
-        "android/hardware/tests/foo/1.0/IHwSimple.h",
-        "android/hardware/tests/foo/1.0/BnHwSimple.h",
-        "android/hardware/tests/foo/1.0/BpHwSimple.h",
-        "android/hardware/tests/foo/1.0/BsSimple.h",
-        "android/hardware/tests/foo/1.0/ITheirTypes.h",
-        "android/hardware/tests/foo/1.0/IHwTheirTypes.h",
-        "android/hardware/tests/foo/1.0/BnHwTheirTypes.h",
-        "android/hardware/tests/foo/1.0/BpHwTheirTypes.h",
-        "android/hardware/tests/foo/1.0/BsTheirTypes.h",
-    ],
-}
-
-cc_library {
-    name: "android.hardware.tests.foo@1.0",
-    defaults: ["hidl-module-defaults"],
-    generated_sources: ["android.hardware.tests.foo@1.0_genc++"],
-    generated_headers: ["android.hardware.tests.foo@1.0_genc++_headers"],
-    export_generated_headers: ["android.hardware.tests.foo@1.0_genc++_headers"],
-    vendor_available: true,
-    shared_libs: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "liblog",
-        "libutils",
-        "libcutils",
-    ],
-    export_shared_lib_headers: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "libutils",
-    ],
-}
-
-// This package is not java compatible. Not creating java target.
-
-// This package does not export any types. Not creating java constants export.
-
-
-genrule {
-    name: "android.hardware.tests.foo@1.0-adapter-helper_genc++",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-sources -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.foo@1.0",
-    srcs: [
-        ":android.hardware.tests.foo@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/foo/1.0/AFoo.cpp",
-        "android/hardware/tests/foo/1.0/AFooCallback.cpp",
-        "android/hardware/tests/foo/1.0/AMyTypes.cpp",
-        "android/hardware/tests/foo/1.0/ASimple.cpp",
-        "android/hardware/tests/foo/1.0/ATheirTypes.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.foo@1.0-adapter-helper_genc++_headers",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-headers -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.foo@1.0",
-    srcs: [
-        ":android.hardware.tests.foo@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/foo/1.0/AFoo.h",
-        "android/hardware/tests/foo/1.0/AFooCallback.h",
-        "android/hardware/tests/foo/1.0/AMyTypes.h",
-        "android/hardware/tests/foo/1.0/ASimple.h",
-        "android/hardware/tests/foo/1.0/ATheirTypes.h",
-    ],
-}
-
-cc_library {
-    name: "android.hardware.tests.foo@1.0-adapter-helper",
-    defaults: ["hidl-module-defaults"],
-    generated_sources: ["android.hardware.tests.foo@1.0-adapter-helper_genc++"],
-    generated_headers: ["android.hardware.tests.foo@1.0-adapter-helper_genc++_headers"],
-    export_generated_headers: ["android.hardware.tests.foo@1.0-adapter-helper_genc++_headers"],
-    vendor_available: true,
-    shared_libs: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "liblog",
-        "libutils",
-        "libcutils",
-        "libhidladapter",
-        "android.hardware.tests.foo@1.0",
-        "android.hidl.base@1.0-adapter-helper",
-    ],
-    export_shared_lib_headers: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "libutils",
-        "libhidladapter",
-        "android.hardware.tests.foo@1.0",
-        "android.hidl.base@1.0-adapter-helper",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.foo@1.0-adapter_genc++",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-main -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.foo@1.0",
-    out: ["main.cpp"]
-}
-
-cc_test {
-    name: "android.hardware.tests.foo@1.0-adapter",
-    defaults: ["hidl-module-defaults"],
-    shared_libs: [
-        "libhidladapter",
-        "libhidlbase",
-        "libhidltransport",
-        "libutils",
-        "android.hardware.tests.foo@1.0",
-        "android.hardware.tests.foo@1.0-adapter-helper",
-    ],
-    generated_sources: ["android.hardware.tests.foo@1.0-adapter_genc++"],
-}
diff --git a/tests/hash/1.0/Android.bp b/tests/hash/1.0/Android.bp
index 3d5822f..20334cd 100644
--- a/tests/hash/1.0/Android.bp
+++ b/tests/hash/1.0/Android.bp
@@ -1,159 +1,14 @@
-// This file is autogenerated by hidl-gen. Do not edit manually.
+// This file is autogenerated by hidl-gen -Landroidbp.
 
-filegroup {
-    name: "android.hardware.tests.hash@1.0_hal",
+hidl_interface {
+    name: "android.hardware.tests.hash@1.0",
+    root: "android.hardware",
     srcs: [
         "IHash.hal",
     ],
+    interfaces: [
+        "android.hidl.base@1.0",
+    ],
+    gen_java: true,
 }
 
-genrule {
-    name: "android.hardware.tests.hash@1.0_genc++",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-sources -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.hash@1.0",
-    srcs: [
-        ":android.hardware.tests.hash@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/hash/1.0/HashAll.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.hash@1.0_genc++_headers",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-headers -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.hash@1.0",
-    srcs: [
-        ":android.hardware.tests.hash@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/hash/1.0/IHash.h",
-        "android/hardware/tests/hash/1.0/IHwHash.h",
-        "android/hardware/tests/hash/1.0/BnHwHash.h",
-        "android/hardware/tests/hash/1.0/BpHwHash.h",
-        "android/hardware/tests/hash/1.0/BsHash.h",
-    ],
-}
-
-cc_library {
-    name: "android.hardware.tests.hash@1.0",
-    defaults: ["hidl-module-defaults"],
-    generated_sources: ["android.hardware.tests.hash@1.0_genc++"],
-    generated_headers: ["android.hardware.tests.hash@1.0_genc++_headers"],
-    export_generated_headers: ["android.hardware.tests.hash@1.0_genc++_headers"],
-    vendor_available: true,
-    shared_libs: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "liblog",
-        "libutils",
-        "libcutils",
-    ],
-    export_shared_lib_headers: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "libutils",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.hash-V1.0-java_gen_java",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Ljava -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.hash@1.0",
-    srcs: [
-        ":android.hardware.tests.hash@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/hash/V1_0/IHash.java",
-    ],
-}
-
-java_library {
-    name: "android.hardware.tests.hash-V1.0-java",
-    no_framework_libs: true,
-    defaults: ["hidl-java-module-defaults"],
-    srcs: [":android.hardware.tests.hash-V1.0-java_gen_java"],
-    libs: [
-        "hwbinder",
-        "android.hidl.base-V1.0-java",
-    ]
-}
-
-// This package does not export any types. Not creating java constants export.
-
-
-genrule {
-    name: "android.hardware.tests.hash@1.0-adapter-helper_genc++",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-sources -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.hash@1.0",
-    srcs: [
-        ":android.hardware.tests.hash@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/hash/1.0/AHash.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.hash@1.0-adapter-helper_genc++_headers",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-headers -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.hash@1.0",
-    srcs: [
-        ":android.hardware.tests.hash@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/hash/1.0/AHash.h",
-    ],
-}
-
-cc_library {
-    name: "android.hardware.tests.hash@1.0-adapter-helper",
-    defaults: ["hidl-module-defaults"],
-    generated_sources: ["android.hardware.tests.hash@1.0-adapter-helper_genc++"],
-    generated_headers: ["android.hardware.tests.hash@1.0-adapter-helper_genc++_headers"],
-    export_generated_headers: ["android.hardware.tests.hash@1.0-adapter-helper_genc++_headers"],
-    vendor_available: true,
-    shared_libs: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "liblog",
-        "libutils",
-        "libcutils",
-        "libhidladapter",
-        "android.hardware.tests.hash@1.0",
-        "android.hidl.base@1.0-adapter-helper",
-    ],
-    export_shared_lib_headers: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "libutils",
-        "libhidladapter",
-        "android.hardware.tests.hash@1.0",
-        "android.hidl.base@1.0-adapter-helper",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.hash@1.0-adapter_genc++",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-main -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.hash@1.0",
-    out: ["main.cpp"]
-}
-
-cc_test {
-    name: "android.hardware.tests.hash@1.0-adapter",
-    defaults: ["hidl-module-defaults"],
-    shared_libs: [
-        "libhidladapter",
-        "libhidlbase",
-        "libhidltransport",
-        "libutils",
-        "android.hardware.tests.hash@1.0",
-        "android.hardware.tests.hash@1.0-adapter-helper",
-    ],
-    generated_sources: ["android.hardware.tests.hash@1.0-adapter_genc++"],
-}
diff --git a/tests/inheritance/1.0/Android.bp b/tests/inheritance/1.0/Android.bp
index 6b8c27e..1d36d07 100644
--- a/tests/inheritance/1.0/Android.bp
+++ b/tests/inheritance/1.0/Android.bp
@@ -1,189 +1,17 @@
-// This file is autogenerated by hidl-gen. Do not edit manually.
+// This file is autogenerated by hidl-gen -Landroidbp.
 
-filegroup {
-    name: "android.hardware.tests.inheritance@1.0_hal",
+hidl_interface {
+    name: "android.hardware.tests.inheritance@1.0",
+    root: "android.hardware",
     srcs: [
         "IChild.hal",
         "IFetcher.hal",
         "IGrandparent.hal",
         "IParent.hal",
     ],
+    interfaces: [
+        "android.hidl.base@1.0",
+    ],
+    gen_java: true,
 }
 
-genrule {
-    name: "android.hardware.tests.inheritance@1.0_genc++",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-sources -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.inheritance@1.0",
-    srcs: [
-        ":android.hardware.tests.inheritance@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/inheritance/1.0/ChildAll.cpp",
-        "android/hardware/tests/inheritance/1.0/FetcherAll.cpp",
-        "android/hardware/tests/inheritance/1.0/GrandparentAll.cpp",
-        "android/hardware/tests/inheritance/1.0/ParentAll.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.inheritance@1.0_genc++_headers",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-headers -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.inheritance@1.0",
-    srcs: [
-        ":android.hardware.tests.inheritance@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/inheritance/1.0/IChild.h",
-        "android/hardware/tests/inheritance/1.0/IHwChild.h",
-        "android/hardware/tests/inheritance/1.0/BnHwChild.h",
-        "android/hardware/tests/inheritance/1.0/BpHwChild.h",
-        "android/hardware/tests/inheritance/1.0/BsChild.h",
-        "android/hardware/tests/inheritance/1.0/IFetcher.h",
-        "android/hardware/tests/inheritance/1.0/IHwFetcher.h",
-        "android/hardware/tests/inheritance/1.0/BnHwFetcher.h",
-        "android/hardware/tests/inheritance/1.0/BpHwFetcher.h",
-        "android/hardware/tests/inheritance/1.0/BsFetcher.h",
-        "android/hardware/tests/inheritance/1.0/IGrandparent.h",
-        "android/hardware/tests/inheritance/1.0/IHwGrandparent.h",
-        "android/hardware/tests/inheritance/1.0/BnHwGrandparent.h",
-        "android/hardware/tests/inheritance/1.0/BpHwGrandparent.h",
-        "android/hardware/tests/inheritance/1.0/BsGrandparent.h",
-        "android/hardware/tests/inheritance/1.0/IParent.h",
-        "android/hardware/tests/inheritance/1.0/IHwParent.h",
-        "android/hardware/tests/inheritance/1.0/BnHwParent.h",
-        "android/hardware/tests/inheritance/1.0/BpHwParent.h",
-        "android/hardware/tests/inheritance/1.0/BsParent.h",
-    ],
-}
-
-cc_library {
-    name: "android.hardware.tests.inheritance@1.0",
-    defaults: ["hidl-module-defaults"],
-    generated_sources: ["android.hardware.tests.inheritance@1.0_genc++"],
-    generated_headers: ["android.hardware.tests.inheritance@1.0_genc++_headers"],
-    export_generated_headers: ["android.hardware.tests.inheritance@1.0_genc++_headers"],
-    vendor_available: true,
-    shared_libs: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "liblog",
-        "libutils",
-        "libcutils",
-    ],
-    export_shared_lib_headers: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "libutils",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.inheritance-V1.0-java_gen_java",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Ljava -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.inheritance@1.0",
-    srcs: [
-        ":android.hardware.tests.inheritance@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/inheritance/V1_0/IChild.java",
-        "android/hardware/tests/inheritance/V1_0/IFetcher.java",
-        "android/hardware/tests/inheritance/V1_0/IGrandparent.java",
-        "android/hardware/tests/inheritance/V1_0/IParent.java",
-    ],
-}
-
-java_library {
-    name: "android.hardware.tests.inheritance-V1.0-java",
-    no_framework_libs: true,
-    defaults: ["hidl-java-module-defaults"],
-    srcs: [":android.hardware.tests.inheritance-V1.0-java_gen_java"],
-    libs: [
-        "hwbinder",
-        "android.hidl.base-V1.0-java",
-    ]
-}
-
-// This package does not export any types. Not creating java constants export.
-
-
-genrule {
-    name: "android.hardware.tests.inheritance@1.0-adapter-helper_genc++",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-sources -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.inheritance@1.0",
-    srcs: [
-        ":android.hardware.tests.inheritance@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/inheritance/1.0/AChild.cpp",
-        "android/hardware/tests/inheritance/1.0/AFetcher.cpp",
-        "android/hardware/tests/inheritance/1.0/AGrandparent.cpp",
-        "android/hardware/tests/inheritance/1.0/AParent.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.inheritance@1.0-adapter-helper_genc++_headers",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-headers -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.inheritance@1.0",
-    srcs: [
-        ":android.hardware.tests.inheritance@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/inheritance/1.0/AChild.h",
-        "android/hardware/tests/inheritance/1.0/AFetcher.h",
-        "android/hardware/tests/inheritance/1.0/AGrandparent.h",
-        "android/hardware/tests/inheritance/1.0/AParent.h",
-    ],
-}
-
-cc_library {
-    name: "android.hardware.tests.inheritance@1.0-adapter-helper",
-    defaults: ["hidl-module-defaults"],
-    generated_sources: ["android.hardware.tests.inheritance@1.0-adapter-helper_genc++"],
-    generated_headers: ["android.hardware.tests.inheritance@1.0-adapter-helper_genc++_headers"],
-    export_generated_headers: ["android.hardware.tests.inheritance@1.0-adapter-helper_genc++_headers"],
-    vendor_available: true,
-    shared_libs: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "liblog",
-        "libutils",
-        "libcutils",
-        "libhidladapter",
-        "android.hardware.tests.inheritance@1.0",
-        "android.hidl.base@1.0-adapter-helper",
-    ],
-    export_shared_lib_headers: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "libutils",
-        "libhidladapter",
-        "android.hardware.tests.inheritance@1.0",
-        "android.hidl.base@1.0-adapter-helper",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.inheritance@1.0-adapter_genc++",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-main -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.inheritance@1.0",
-    out: ["main.cpp"]
-}
-
-cc_test {
-    name: "android.hardware.tests.inheritance@1.0-adapter",
-    defaults: ["hidl-module-defaults"],
-    shared_libs: [
-        "libhidladapter",
-        "libhidlbase",
-        "libhidltransport",
-        "libutils",
-        "android.hardware.tests.inheritance@1.0",
-        "android.hardware.tests.inheritance@1.0-adapter-helper",
-    ],
-    generated_sources: ["android.hardware.tests.inheritance@1.0-adapter_genc++"],
-}
diff --git a/tests/libhwbinder/1.0/Android.bp b/tests/libhwbinder/1.0/Android.bp
index 0aff0e9..d561002 100644
--- a/tests/libhwbinder/1.0/Android.bp
+++ b/tests/libhwbinder/1.0/Android.bp
@@ -1,169 +1,15 @@
-// This file is autogenerated by hidl-gen. Do not edit manually.
+// This file is autogenerated by hidl-gen -Landroidbp.
 
-filegroup {
-    name: "android.hardware.tests.libhwbinder@1.0_hal",
+hidl_interface {
+    name: "android.hardware.tests.libhwbinder@1.0",
+    root: "android.hardware",
     srcs: [
         "IBenchmark.hal",
         "IScheduleTest.hal",
     ],
+    interfaces: [
+        "android.hidl.base@1.0",
+    ],
+    gen_java: true,
 }
 
-genrule {
-    name: "android.hardware.tests.libhwbinder@1.0_genc++",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-sources -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.libhwbinder@1.0",
-    srcs: [
-        ":android.hardware.tests.libhwbinder@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/libhwbinder/1.0/BenchmarkAll.cpp",
-        "android/hardware/tests/libhwbinder/1.0/ScheduleTestAll.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.libhwbinder@1.0_genc++_headers",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-headers -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.libhwbinder@1.0",
-    srcs: [
-        ":android.hardware.tests.libhwbinder@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/libhwbinder/1.0/IBenchmark.h",
-        "android/hardware/tests/libhwbinder/1.0/IHwBenchmark.h",
-        "android/hardware/tests/libhwbinder/1.0/BnHwBenchmark.h",
-        "android/hardware/tests/libhwbinder/1.0/BpHwBenchmark.h",
-        "android/hardware/tests/libhwbinder/1.0/BsBenchmark.h",
-        "android/hardware/tests/libhwbinder/1.0/IScheduleTest.h",
-        "android/hardware/tests/libhwbinder/1.0/IHwScheduleTest.h",
-        "android/hardware/tests/libhwbinder/1.0/BnHwScheduleTest.h",
-        "android/hardware/tests/libhwbinder/1.0/BpHwScheduleTest.h",
-        "android/hardware/tests/libhwbinder/1.0/BsScheduleTest.h",
-    ],
-}
-
-cc_library {
-    name: "android.hardware.tests.libhwbinder@1.0",
-    defaults: ["hidl-module-defaults"],
-    generated_sources: ["android.hardware.tests.libhwbinder@1.0_genc++"],
-    generated_headers: ["android.hardware.tests.libhwbinder@1.0_genc++_headers"],
-    export_generated_headers: ["android.hardware.tests.libhwbinder@1.0_genc++_headers"],
-    vendor_available: true,
-    shared_libs: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "liblog",
-        "libutils",
-        "libcutils",
-    ],
-    export_shared_lib_headers: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "libutils",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.libhwbinder-V1.0-java_gen_java",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Ljava -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.libhwbinder@1.0",
-    srcs: [
-        ":android.hardware.tests.libhwbinder@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/libhwbinder/V1_0/IBenchmark.java",
-        "android/hardware/tests/libhwbinder/V1_0/IScheduleTest.java",
-    ],
-}
-
-java_library {
-    name: "android.hardware.tests.libhwbinder-V1.0-java",
-    no_framework_libs: true,
-    defaults: ["hidl-java-module-defaults"],
-    srcs: [":android.hardware.tests.libhwbinder-V1.0-java_gen_java"],
-    libs: [
-        "hwbinder",
-        "android.hidl.base-V1.0-java",
-    ]
-}
-
-// This package does not export any types. Not creating java constants export.
-
-
-genrule {
-    name: "android.hardware.tests.libhwbinder@1.0-adapter-helper_genc++",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-sources -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.libhwbinder@1.0",
-    srcs: [
-        ":android.hardware.tests.libhwbinder@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/libhwbinder/1.0/ABenchmark.cpp",
-        "android/hardware/tests/libhwbinder/1.0/AScheduleTest.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.libhwbinder@1.0-adapter-helper_genc++_headers",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-headers -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.libhwbinder@1.0",
-    srcs: [
-        ":android.hardware.tests.libhwbinder@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/libhwbinder/1.0/ABenchmark.h",
-        "android/hardware/tests/libhwbinder/1.0/AScheduleTest.h",
-    ],
-}
-
-cc_library {
-    name: "android.hardware.tests.libhwbinder@1.0-adapter-helper",
-    defaults: ["hidl-module-defaults"],
-    generated_sources: ["android.hardware.tests.libhwbinder@1.0-adapter-helper_genc++"],
-    generated_headers: ["android.hardware.tests.libhwbinder@1.0-adapter-helper_genc++_headers"],
-    export_generated_headers: ["android.hardware.tests.libhwbinder@1.0-adapter-helper_genc++_headers"],
-    vendor_available: true,
-    shared_libs: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "liblog",
-        "libutils",
-        "libcutils",
-        "libhidladapter",
-        "android.hardware.tests.libhwbinder@1.0",
-        "android.hidl.base@1.0-adapter-helper",
-    ],
-    export_shared_lib_headers: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "libutils",
-        "libhidladapter",
-        "android.hardware.tests.libhwbinder@1.0",
-        "android.hidl.base@1.0-adapter-helper",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.libhwbinder@1.0-adapter_genc++",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-main -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.libhwbinder@1.0",
-    out: ["main.cpp"]
-}
-
-cc_test {
-    name: "android.hardware.tests.libhwbinder@1.0-adapter",
-    defaults: ["hidl-module-defaults"],
-    shared_libs: [
-        "libhidladapter",
-        "libhidlbase",
-        "libhidltransport",
-        "libutils",
-        "android.hardware.tests.libhwbinder@1.0",
-        "android.hardware.tests.libhwbinder@1.0-adapter-helper",
-    ],
-    generated_sources: ["android.hardware.tests.libhwbinder@1.0-adapter_genc++"],
-}
diff --git a/tests/memory/1.0/Android.bp b/tests/memory/1.0/Android.bp
index 0af8b65..cd97fe4 100644
--- a/tests/memory/1.0/Android.bp
+++ b/tests/memory/1.0/Android.bp
@@ -1,138 +1,14 @@
-// This file is autogenerated by hidl-gen. Do not edit manually.
+// This file is autogenerated by hidl-gen -Landroidbp.
 
-filegroup {
-    name: "android.hardware.tests.memory@1.0_hal",
+hidl_interface {
+    name: "android.hardware.tests.memory@1.0",
+    root: "android.hardware",
     srcs: [
         "IMemoryTest.hal",
     ],
+    interfaces: [
+        "android.hidl.base@1.0",
+    ],
+    gen_java: false,
 }
 
-genrule {
-    name: "android.hardware.tests.memory@1.0_genc++",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-sources -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.memory@1.0",
-    srcs: [
-        ":android.hardware.tests.memory@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/memory/1.0/MemoryTestAll.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.memory@1.0_genc++_headers",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-headers -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.memory@1.0",
-    srcs: [
-        ":android.hardware.tests.memory@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/memory/1.0/IMemoryTest.h",
-        "android/hardware/tests/memory/1.0/IHwMemoryTest.h",
-        "android/hardware/tests/memory/1.0/BnHwMemoryTest.h",
-        "android/hardware/tests/memory/1.0/BpHwMemoryTest.h",
-        "android/hardware/tests/memory/1.0/BsMemoryTest.h",
-    ],
-}
-
-cc_library {
-    name: "android.hardware.tests.memory@1.0",
-    defaults: ["hidl-module-defaults"],
-    generated_sources: ["android.hardware.tests.memory@1.0_genc++"],
-    generated_headers: ["android.hardware.tests.memory@1.0_genc++_headers"],
-    export_generated_headers: ["android.hardware.tests.memory@1.0_genc++_headers"],
-    vendor_available: true,
-    shared_libs: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "liblog",
-        "libutils",
-        "libcutils",
-    ],
-    export_shared_lib_headers: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "libutils",
-    ],
-}
-
-// This package is not java compatible. Not creating java target.
-
-// This package does not export any types. Not creating java constants export.
-
-
-genrule {
-    name: "android.hardware.tests.memory@1.0-adapter-helper_genc++",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-sources -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.memory@1.0",
-    srcs: [
-        ":android.hardware.tests.memory@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/memory/1.0/AMemoryTest.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.memory@1.0-adapter-helper_genc++_headers",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-headers -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.memory@1.0",
-    srcs: [
-        ":android.hardware.tests.memory@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/memory/1.0/AMemoryTest.h",
-    ],
-}
-
-cc_library {
-    name: "android.hardware.tests.memory@1.0-adapter-helper",
-    defaults: ["hidl-module-defaults"],
-    generated_sources: ["android.hardware.tests.memory@1.0-adapter-helper_genc++"],
-    generated_headers: ["android.hardware.tests.memory@1.0-adapter-helper_genc++_headers"],
-    export_generated_headers: ["android.hardware.tests.memory@1.0-adapter-helper_genc++_headers"],
-    vendor_available: true,
-    shared_libs: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "liblog",
-        "libutils",
-        "libcutils",
-        "libhidladapter",
-        "android.hardware.tests.memory@1.0",
-        "android.hidl.base@1.0-adapter-helper",
-    ],
-    export_shared_lib_headers: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "libutils",
-        "libhidladapter",
-        "android.hardware.tests.memory@1.0",
-        "android.hidl.base@1.0-adapter-helper",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.memory@1.0-adapter_genc++",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-main -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.memory@1.0",
-    out: ["main.cpp"]
-}
-
-cc_test {
-    name: "android.hardware.tests.memory@1.0-adapter",
-    defaults: ["hidl-module-defaults"],
-    shared_libs: [
-        "libhidladapter",
-        "libhidlbase",
-        "libhidltransport",
-        "libutils",
-        "android.hardware.tests.memory@1.0",
-        "android.hardware.tests.memory@1.0-adapter-helper",
-    ],
-    generated_sources: ["android.hardware.tests.memory@1.0-adapter_genc++"],
-}
diff --git a/tests/msgq/1.0/Android.bp b/tests/msgq/1.0/Android.bp
index c30553d..2d8d565 100644
--- a/tests/msgq/1.0/Android.bp
+++ b/tests/msgq/1.0/Android.bp
@@ -1,147 +1,15 @@
-// This file is autogenerated by hidl-gen. Do not edit manually.
+// This file is autogenerated by hidl-gen -Landroidbp.
 
-filegroup {
-    name: "android.hardware.tests.msgq@1.0_hal",
+hidl_interface {
+    name: "android.hardware.tests.msgq@1.0",
+    root: "android.hardware",
     srcs: [
         "IBenchmarkMsgQ.hal",
         "ITestMsgQ.hal",
     ],
+    interfaces: [
+        "android.hidl.base@1.0",
+    ],
+    gen_java: false,
 }
 
-genrule {
-    name: "android.hardware.tests.msgq@1.0_genc++",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-sources -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.msgq@1.0",
-    srcs: [
-        ":android.hardware.tests.msgq@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/msgq/1.0/BenchmarkMsgQAll.cpp",
-        "android/hardware/tests/msgq/1.0/TestMsgQAll.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.msgq@1.0_genc++_headers",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-headers -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.msgq@1.0",
-    srcs: [
-        ":android.hardware.tests.msgq@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/msgq/1.0/IBenchmarkMsgQ.h",
-        "android/hardware/tests/msgq/1.0/IHwBenchmarkMsgQ.h",
-        "android/hardware/tests/msgq/1.0/BnHwBenchmarkMsgQ.h",
-        "android/hardware/tests/msgq/1.0/BpHwBenchmarkMsgQ.h",
-        "android/hardware/tests/msgq/1.0/BsBenchmarkMsgQ.h",
-        "android/hardware/tests/msgq/1.0/ITestMsgQ.h",
-        "android/hardware/tests/msgq/1.0/IHwTestMsgQ.h",
-        "android/hardware/tests/msgq/1.0/BnHwTestMsgQ.h",
-        "android/hardware/tests/msgq/1.0/BpHwTestMsgQ.h",
-        "android/hardware/tests/msgq/1.0/BsTestMsgQ.h",
-    ],
-}
-
-cc_library {
-    name: "android.hardware.tests.msgq@1.0",
-    defaults: ["hidl-module-defaults"],
-    generated_sources: ["android.hardware.tests.msgq@1.0_genc++"],
-    generated_headers: ["android.hardware.tests.msgq@1.0_genc++_headers"],
-    export_generated_headers: ["android.hardware.tests.msgq@1.0_genc++_headers"],
-    vendor_available: true,
-    shared_libs: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "liblog",
-        "libutils",
-        "libcutils",
-    ],
-    export_shared_lib_headers: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "libutils",
-    ],
-}
-
-// This package is not java compatible. Not creating java target.
-
-// This package does not export any types. Not creating java constants export.
-
-
-genrule {
-    name: "android.hardware.tests.msgq@1.0-adapter-helper_genc++",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-sources -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.msgq@1.0",
-    srcs: [
-        ":android.hardware.tests.msgq@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/msgq/1.0/ABenchmarkMsgQ.cpp",
-        "android/hardware/tests/msgq/1.0/ATestMsgQ.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.msgq@1.0-adapter-helper_genc++_headers",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-headers -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.msgq@1.0",
-    srcs: [
-        ":android.hardware.tests.msgq@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/msgq/1.0/ABenchmarkMsgQ.h",
-        "android/hardware/tests/msgq/1.0/ATestMsgQ.h",
-    ],
-}
-
-cc_library {
-    name: "android.hardware.tests.msgq@1.0-adapter-helper",
-    defaults: ["hidl-module-defaults"],
-    generated_sources: ["android.hardware.tests.msgq@1.0-adapter-helper_genc++"],
-    generated_headers: ["android.hardware.tests.msgq@1.0-adapter-helper_genc++_headers"],
-    export_generated_headers: ["android.hardware.tests.msgq@1.0-adapter-helper_genc++_headers"],
-    vendor_available: true,
-    shared_libs: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "liblog",
-        "libutils",
-        "libcutils",
-        "libhidladapter",
-        "android.hardware.tests.msgq@1.0",
-        "android.hidl.base@1.0-adapter-helper",
-    ],
-    export_shared_lib_headers: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "libutils",
-        "libhidladapter",
-        "android.hardware.tests.msgq@1.0",
-        "android.hidl.base@1.0-adapter-helper",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.msgq@1.0-adapter_genc++",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-main -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.msgq@1.0",
-    out: ["main.cpp"]
-}
-
-cc_test {
-    name: "android.hardware.tests.msgq@1.0-adapter",
-    defaults: ["hidl-module-defaults"],
-    shared_libs: [
-        "libhidladapter",
-        "libhidlbase",
-        "libhidltransport",
-        "libutils",
-        "android.hardware.tests.msgq@1.0",
-        "android.hardware.tests.msgq@1.0-adapter-helper",
-    ],
-    generated_sources: ["android.hardware.tests.msgq@1.0-adapter_genc++"],
-}
diff --git a/tests/multithread/1.0/Android.bp b/tests/multithread/1.0/Android.bp
index cebf90e..0d21b1b 100644
--- a/tests/multithread/1.0/Android.bp
+++ b/tests/multithread/1.0/Android.bp
@@ -1,159 +1,14 @@
-// This file is autogenerated by hidl-gen. Do not edit manually.
+// This file is autogenerated by hidl-gen -Landroidbp.
 
-filegroup {
-    name: "android.hardware.tests.multithread@1.0_hal",
+hidl_interface {
+    name: "android.hardware.tests.multithread@1.0",
+    root: "android.hardware",
     srcs: [
         "IMultithread.hal",
     ],
+    interfaces: [
+        "android.hidl.base@1.0",
+    ],
+    gen_java: true,
 }
 
-genrule {
-    name: "android.hardware.tests.multithread@1.0_genc++",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-sources -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.multithread@1.0",
-    srcs: [
-        ":android.hardware.tests.multithread@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/multithread/1.0/MultithreadAll.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.multithread@1.0_genc++_headers",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-headers -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.multithread@1.0",
-    srcs: [
-        ":android.hardware.tests.multithread@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/multithread/1.0/IMultithread.h",
-        "android/hardware/tests/multithread/1.0/IHwMultithread.h",
-        "android/hardware/tests/multithread/1.0/BnHwMultithread.h",
-        "android/hardware/tests/multithread/1.0/BpHwMultithread.h",
-        "android/hardware/tests/multithread/1.0/BsMultithread.h",
-    ],
-}
-
-cc_library {
-    name: "android.hardware.tests.multithread@1.0",
-    defaults: ["hidl-module-defaults"],
-    generated_sources: ["android.hardware.tests.multithread@1.0_genc++"],
-    generated_headers: ["android.hardware.tests.multithread@1.0_genc++_headers"],
-    export_generated_headers: ["android.hardware.tests.multithread@1.0_genc++_headers"],
-    vendor_available: true,
-    shared_libs: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "liblog",
-        "libutils",
-        "libcutils",
-    ],
-    export_shared_lib_headers: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "libutils",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.multithread-V1.0-java_gen_java",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Ljava -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.multithread@1.0",
-    srcs: [
-        ":android.hardware.tests.multithread@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/multithread/V1_0/IMultithread.java",
-    ],
-}
-
-java_library {
-    name: "android.hardware.tests.multithread-V1.0-java",
-    no_framework_libs: true,
-    defaults: ["hidl-java-module-defaults"],
-    srcs: [":android.hardware.tests.multithread-V1.0-java_gen_java"],
-    libs: [
-        "hwbinder",
-        "android.hidl.base-V1.0-java",
-    ]
-}
-
-// This package does not export any types. Not creating java constants export.
-
-
-genrule {
-    name: "android.hardware.tests.multithread@1.0-adapter-helper_genc++",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-sources -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.multithread@1.0",
-    srcs: [
-        ":android.hardware.tests.multithread@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/multithread/1.0/AMultithread.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.multithread@1.0-adapter-helper_genc++_headers",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-headers -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.multithread@1.0",
-    srcs: [
-        ":android.hardware.tests.multithread@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/multithread/1.0/AMultithread.h",
-    ],
-}
-
-cc_library {
-    name: "android.hardware.tests.multithread@1.0-adapter-helper",
-    defaults: ["hidl-module-defaults"],
-    generated_sources: ["android.hardware.tests.multithread@1.0-adapter-helper_genc++"],
-    generated_headers: ["android.hardware.tests.multithread@1.0-adapter-helper_genc++_headers"],
-    export_generated_headers: ["android.hardware.tests.multithread@1.0-adapter-helper_genc++_headers"],
-    vendor_available: true,
-    shared_libs: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "liblog",
-        "libutils",
-        "libcutils",
-        "libhidladapter",
-        "android.hardware.tests.multithread@1.0",
-        "android.hidl.base@1.0-adapter-helper",
-    ],
-    export_shared_lib_headers: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "libutils",
-        "libhidladapter",
-        "android.hardware.tests.multithread@1.0",
-        "android.hidl.base@1.0-adapter-helper",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.multithread@1.0-adapter_genc++",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-main -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.multithread@1.0",
-    out: ["main.cpp"]
-}
-
-cc_test {
-    name: "android.hardware.tests.multithread@1.0-adapter",
-    defaults: ["hidl-module-defaults"],
-    shared_libs: [
-        "libhidladapter",
-        "libhidlbase",
-        "libhidltransport",
-        "libutils",
-        "android.hardware.tests.multithread@1.0",
-        "android.hardware.tests.multithread@1.0-adapter-helper",
-    ],
-    generated_sources: ["android.hardware.tests.multithread@1.0-adapter_genc++"],
-}
diff --git a/tests/pointer/1.0/Android.bp b/tests/pointer/1.0/Android.bp
index 34cbaa9..3dc8e8a 100644
--- a/tests/pointer/1.0/Android.bp
+++ b/tests/pointer/1.0/Android.bp
@@ -1,147 +1,15 @@
-// This file is autogenerated by hidl-gen. Do not edit manually.
+// This file is autogenerated by hidl-gen -Landroidbp.
 
-filegroup {
-    name: "android.hardware.tests.pointer@1.0_hal",
+hidl_interface {
+    name: "android.hardware.tests.pointer@1.0",
+    root: "android.hardware",
     srcs: [
         "IGraph.hal",
         "IPointer.hal",
     ],
+    interfaces: [
+        "android.hidl.base@1.0",
+    ],
+    gen_java: false,
 }
 
-genrule {
-    name: "android.hardware.tests.pointer@1.0_genc++",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-sources -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.pointer@1.0",
-    srcs: [
-        ":android.hardware.tests.pointer@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/pointer/1.0/GraphAll.cpp",
-        "android/hardware/tests/pointer/1.0/PointerAll.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.pointer@1.0_genc++_headers",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-headers -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.pointer@1.0",
-    srcs: [
-        ":android.hardware.tests.pointer@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/pointer/1.0/IGraph.h",
-        "android/hardware/tests/pointer/1.0/IHwGraph.h",
-        "android/hardware/tests/pointer/1.0/BnHwGraph.h",
-        "android/hardware/tests/pointer/1.0/BpHwGraph.h",
-        "android/hardware/tests/pointer/1.0/BsGraph.h",
-        "android/hardware/tests/pointer/1.0/IPointer.h",
-        "android/hardware/tests/pointer/1.0/IHwPointer.h",
-        "android/hardware/tests/pointer/1.0/BnHwPointer.h",
-        "android/hardware/tests/pointer/1.0/BpHwPointer.h",
-        "android/hardware/tests/pointer/1.0/BsPointer.h",
-    ],
-}
-
-cc_library {
-    name: "android.hardware.tests.pointer@1.0",
-    defaults: ["hidl-module-defaults"],
-    generated_sources: ["android.hardware.tests.pointer@1.0_genc++"],
-    generated_headers: ["android.hardware.tests.pointer@1.0_genc++_headers"],
-    export_generated_headers: ["android.hardware.tests.pointer@1.0_genc++_headers"],
-    vendor_available: true,
-    shared_libs: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "liblog",
-        "libutils",
-        "libcutils",
-    ],
-    export_shared_lib_headers: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "libutils",
-    ],
-}
-
-// This package is not java compatible. Not creating java target.
-
-// This package does not export any types. Not creating java constants export.
-
-
-genrule {
-    name: "android.hardware.tests.pointer@1.0-adapter-helper_genc++",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-sources -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.pointer@1.0",
-    srcs: [
-        ":android.hardware.tests.pointer@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/pointer/1.0/AGraph.cpp",
-        "android/hardware/tests/pointer/1.0/APointer.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.pointer@1.0-adapter-helper_genc++_headers",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-headers -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.pointer@1.0",
-    srcs: [
-        ":android.hardware.tests.pointer@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/pointer/1.0/AGraph.h",
-        "android/hardware/tests/pointer/1.0/APointer.h",
-    ],
-}
-
-cc_library {
-    name: "android.hardware.tests.pointer@1.0-adapter-helper",
-    defaults: ["hidl-module-defaults"],
-    generated_sources: ["android.hardware.tests.pointer@1.0-adapter-helper_genc++"],
-    generated_headers: ["android.hardware.tests.pointer@1.0-adapter-helper_genc++_headers"],
-    export_generated_headers: ["android.hardware.tests.pointer@1.0-adapter-helper_genc++_headers"],
-    vendor_available: true,
-    shared_libs: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "liblog",
-        "libutils",
-        "libcutils",
-        "libhidladapter",
-        "android.hardware.tests.pointer@1.0",
-        "android.hidl.base@1.0-adapter-helper",
-    ],
-    export_shared_lib_headers: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "libutils",
-        "libhidladapter",
-        "android.hardware.tests.pointer@1.0",
-        "android.hidl.base@1.0-adapter-helper",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.pointer@1.0-adapter_genc++",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-main -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.pointer@1.0",
-    out: ["main.cpp"]
-}
-
-cc_test {
-    name: "android.hardware.tests.pointer@1.0-adapter",
-    defaults: ["hidl-module-defaults"],
-    shared_libs: [
-        "libhidladapter",
-        "libhidlbase",
-        "libhidltransport",
-        "libutils",
-        "android.hardware.tests.pointer@1.0",
-        "android.hardware.tests.pointer@1.0-adapter-helper",
-    ],
-    generated_sources: ["android.hardware.tests.pointer@1.0-adapter_genc++"],
-}
diff --git a/tests/trie/1.0/Android.bp b/tests/trie/1.0/Android.bp
index be45d12..870a350 100644
--- a/tests/trie/1.0/Android.bp
+++ b/tests/trie/1.0/Android.bp
@@ -1,142 +1,24 @@
-// This file is autogenerated by hidl-gen. Do not edit manually.
+// This file is autogenerated by hidl-gen -Landroidbp.
 
-filegroup {
-    name: "android.hardware.tests.trie@1.0_hal",
+hidl_interface {
+    name: "android.hardware.tests.trie@1.0",
+    root: "android.hardware",
     srcs: [
         "types.hal",
         "ITrie.hal",
     ],
+    interfaces: [
+        "android.hidl.base@1.0",
+    ],
+    types: [
+        "A",
+        "B",
+        "E1",
+        "E2",
+        "S",
+        "TrieEdge",
+        "TrieNode",
+    ],
+    gen_java: false,
 }
 
-genrule {
-    name: "android.hardware.tests.trie@1.0_genc++",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-sources -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.trie@1.0",
-    srcs: [
-        ":android.hardware.tests.trie@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/trie/1.0/types.cpp",
-        "android/hardware/tests/trie/1.0/TrieAll.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.trie@1.0_genc++_headers",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-headers -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.trie@1.0",
-    srcs: [
-        ":android.hardware.tests.trie@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/trie/1.0/types.h",
-        "android/hardware/tests/trie/1.0/hwtypes.h",
-        "android/hardware/tests/trie/1.0/ITrie.h",
-        "android/hardware/tests/trie/1.0/IHwTrie.h",
-        "android/hardware/tests/trie/1.0/BnHwTrie.h",
-        "android/hardware/tests/trie/1.0/BpHwTrie.h",
-        "android/hardware/tests/trie/1.0/BsTrie.h",
-    ],
-}
-
-cc_library {
-    name: "android.hardware.tests.trie@1.0",
-    defaults: ["hidl-module-defaults"],
-    generated_sources: ["android.hardware.tests.trie@1.0_genc++"],
-    generated_headers: ["android.hardware.tests.trie@1.0_genc++_headers"],
-    export_generated_headers: ["android.hardware.tests.trie@1.0_genc++_headers"],
-    vendor_available: true,
-    shared_libs: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "liblog",
-        "libutils",
-        "libcutils",
-    ],
-    export_shared_lib_headers: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "libutils",
-    ],
-}
-
-// This package is not java compatible. Not creating java target.
-
-// This package does not export any types. Not creating java constants export.
-
-
-genrule {
-    name: "android.hardware.tests.trie@1.0-adapter-helper_genc++",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-sources -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.trie@1.0",
-    srcs: [
-        ":android.hardware.tests.trie@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/trie/1.0/ATrie.cpp",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.trie@1.0-adapter-helper_genc++_headers",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-headers -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.trie@1.0",
-    srcs: [
-        ":android.hardware.tests.trie@1.0_hal",
-    ],
-    out: [
-        "android/hardware/tests/trie/1.0/ATrie.h",
-    ],
-}
-
-cc_library {
-    name: "android.hardware.tests.trie@1.0-adapter-helper",
-    defaults: ["hidl-module-defaults"],
-    generated_sources: ["android.hardware.tests.trie@1.0-adapter-helper_genc++"],
-    generated_headers: ["android.hardware.tests.trie@1.0-adapter-helper_genc++_headers"],
-    export_generated_headers: ["android.hardware.tests.trie@1.0-adapter-helper_genc++_headers"],
-    vendor_available: true,
-    shared_libs: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "liblog",
-        "libutils",
-        "libcutils",
-        "libhidladapter",
-        "android.hardware.tests.trie@1.0",
-        "android.hidl.base@1.0-adapter-helper",
-    ],
-    export_shared_lib_headers: [
-        "libhidlbase",
-        "libhidltransport",
-        "libhwbinder",
-        "libutils",
-        "libhidladapter",
-        "android.hardware.tests.trie@1.0",
-        "android.hidl.base@1.0-adapter-helper",
-    ],
-}
-
-genrule {
-    name: "android.hardware.tests.trie@1.0-adapter_genc++",
-    tools: ["hidl-gen"],
-    cmd: "$(location hidl-gen) -o $(genDir) -Lc++-adapter-main -randroid.hardware:hardware/interfaces -randroid.hidl:system/libhidl/transport android.hardware.tests.trie@1.0",
-    out: ["main.cpp"]
-}
-
-cc_test {
-    name: "android.hardware.tests.trie@1.0-adapter",
-    defaults: ["hidl-module-defaults"],
-    shared_libs: [
-        "libhidladapter",
-        "libhidlbase",
-        "libhidltransport",
-        "libutils",
-        "android.hardware.tests.trie@1.0",
-        "android.hardware.tests.trie@1.0-adapter-helper",
-    ],
-    generated_sources: ["android.hardware.tests.trie@1.0-adapter_genc++"],
-}