1diff --git a/Android.bp b/Android.bp
2index a1a223b..1b4784b 100644
3--- a/Android.bp
4+++ b/Android.bp
5@@ -9,7 +9,11 @@ package {
6 license {
7     name: "external_rust_crates_quiche_license",
8     visibility: [":__subpackages__"],
9-    license_kinds: ["SPDX-license-identifier-BSD-2-Clause"],
10+    license_kinds: [
11+        "SPDX-license-identifier-BSD-2-Clause",
12+        "SPDX-license-identifier-ISC",
13+        "SPDX-license-identifier-OpenSSL",
14+    ],
15     license_text: ["LICENSE"],
16 }
17
18@@ -46,70 +46,64 @@ cc_library_headers {
19 }
20
21 rust_library {
22     name: "libquiche",
23     host_supported: true,
24     crate_name: "quiche",
25     cargo_env_compat: true,
26     cargo_pkg_version: "0.17.1",
27     crate_root: "src/lib.rs",
28     edition: "2018",
29-    features: [
30-        "boringssl-vendored",
31-        "default",
32-    ],
33-    rustlibs: [
34+    rlibs: [
35         "liblazy_static",
36         "liblibc",
37         "liblibm",
38         "liblog_rust",
39         "liboctets",
40         "libring",
41         "libslab",
42         "libsmallvec",
43     ],
44-    static_libs: [
45+    prefer_rlib: true,
46+    shared_libs: [
47         "libcrypto",
48         "libssl",
49     ],
50     apex_available: [
51         "//apex_available:platform",
52         "com.android.resolv",
53     ],
54     product_available: true,
55     vendor_available: true,
56     min_sdk_version: "29",
57 }
58
59-rust_ffi_shared {
60+rust_ffi {
61     name: "libquiche_ffi",
62     host_supported: true,
63     crate_name: "quiche",
64     cargo_env_compat: true,
65     cargo_pkg_version: "0.17.1",
66     crate_root: "src/lib.rs",
67     edition: "2018",
68-    features: [
69-        "boringssl-vendored",
70-        "default",
71-    ],
72-    rustlibs: [
73+    rlibs: [
74         "liblazy_static",
75         "liblibc",
76         "liblibm",
77         "liblog_rust",
78         "liboctets",
79         "libring",
80         "libslab",
81         "libsmallvec",
82     ],
83-    static_libs: [
84+    prefer_rlib: true,
85+    shared_libs: [
86         "libcrypto",
87         "libssl",
88     ],
89     apex_available: [
90         "//apex_available:platform",
91         "com.android.resolv",
92     ],
93     product_available: true,
94     vendor_available: true,
95     min_sdk_version: "29",
96@@ -136,21 +130,21 @@ rust_test_host {
97         "liblibc",
98         "liblibm",
99         "liblog_rust",
100         "libmio",
101         "liboctets",
102         "libring",
103         "libslab",
104         "libsmallvec",
105         "liburl",
106     ],
107-    static_libs: [
108+    shared_libs: [
109         "libcrypto",
110         "libssl",
111     ],
112     data: [
113         "examples/cert.crt",
114         "examples/cert.key",
115         "examples/cert-big.crt",
116         "examples/rootca.crt",
117     ],
118 }
119@@ -183,34 +177,31 @@ rust_test {
120     static_libs: [
121         "libcrypto_static",
122         "libssl",
123     ],
124     data: [
125         "examples/cert.crt",
126         "examples/cert.key",
127         "examples/cert-big.crt",
128         "examples/rootca.crt",
129     ],
130+    shared_libs: ["libc++"],
131 }
132
133 rust_library_rlib {
134     name: "libquiche_static",
135     host_supported: true,
136     crate_name: "quiche",
137     cargo_env_compat: true,
138     cargo_pkg_version: "0.17.1",
139     crate_root: "src/lib.rs",
140     edition: "2018",
141-    features: [
142-        "boringssl-vendored",
143-        "default",
144-    ],
145     rustlibs: [
146         "liblazy_static",
147         "liblibc",
148         "liblibm",
149         "liblog_rust",
150         "liboctets",
151         "libring",
152         "libslab",
153         "libsmallvec",
154     ],
155