diff --git a/Android.bp b/Android.bp
index a1a223b..1b4784b 100644
--- a/Android.bp
+++ b/Android.bp
@@ -9,7 +9,11 @@ package {
 license {
     name: "external_rust_crates_quiche_license",
     visibility: [":__subpackages__"],
-    license_kinds: ["SPDX-license-identifier-BSD-2-Clause"],
+    license_kinds: [
+        "SPDX-license-identifier-BSD-2-Clause",
+        "SPDX-license-identifier-ISC",
+        "SPDX-license-identifier-OpenSSL",
+    ],
     license_text: ["LICENSE"],
 }

@@ -46,70 +46,64 @@ cc_library_headers {
 }
 
 rust_library {
     name: "libquiche",
     host_supported: true,
     crate_name: "quiche",
     cargo_env_compat: true,
     cargo_pkg_version: "0.17.1",
     crate_root: "src/lib.rs",
     edition: "2018",
-    features: [
-        "boringssl-vendored",
-        "default",
-    ],
-    rustlibs: [
+    rlibs: [
         "liblazy_static",
         "liblibc",
         "liblibm",
         "liblog_rust",
         "liboctets",
         "libring",
         "libslab",
         "libsmallvec",
     ],
-    static_libs: [
+    prefer_rlib: true,
+    shared_libs: [
         "libcrypto",
         "libssl",
     ],
     apex_available: [
         "//apex_available:platform",
         "com.android.resolv",
     ],
     product_available: true,
     vendor_available: true,
     min_sdk_version: "29",
 }
 
-rust_ffi_shared {
+rust_ffi {
     name: "libquiche_ffi",
     host_supported: true,
     crate_name: "quiche",
     cargo_env_compat: true,
     cargo_pkg_version: "0.17.1",
     crate_root: "src/lib.rs",
     edition: "2018",
-    features: [
-        "boringssl-vendored",
-        "default",
-    ],
-    rustlibs: [
+    rlibs: [
         "liblazy_static",
         "liblibc",
         "liblibm",
         "liblog_rust",
         "liboctets",
         "libring",
         "libslab",
         "libsmallvec",
     ],
-    static_libs: [
+    prefer_rlib: true,
+    shared_libs: [
         "libcrypto",
         "libssl",
     ],
     apex_available: [
         "//apex_available:platform",
         "com.android.resolv",
     ],
     product_available: true,
     vendor_available: true,
     min_sdk_version: "29",
@@ -136,21 +130,21 @@ rust_test_host {
         "liblibc",
         "liblibm",
         "liblog_rust",
         "libmio",
         "liboctets",
         "libring",
         "libslab",
         "libsmallvec",
         "liburl",
     ],
-    static_libs: [
+    shared_libs: [
         "libcrypto",
         "libssl",
     ],
     data: [
         "examples/cert.crt",
         "examples/cert.key",
         "examples/cert-big.crt",
         "examples/rootca.crt",
     ],
 }
@@ -183,34 +177,31 @@ rust_test {
     static_libs: [
         "libcrypto_static",
         "libssl",
     ],
     data: [
         "examples/cert.crt",
         "examples/cert.key",
         "examples/cert-big.crt",
         "examples/rootca.crt",
     ],
+    shared_libs: ["libc++"],
 }
 
 rust_library_rlib {
     name: "libquiche_static",
     host_supported: true,
     crate_name: "quiche",
     cargo_env_compat: true,
     cargo_pkg_version: "0.17.1",
     crate_root: "src/lib.rs",
     edition: "2018",
-    features: [
-        "boringssl-vendored",
-        "default",
-    ],
     rustlibs: [
         "liblazy_static",
         "liblibc",
         "liblibm",
         "liblog_rust",
         "liboctets",
         "libring",
         "libslab",
         "libsmallvec",
     ],
