Use new no-std flag to cargo2android.

Bug: 279614907
Test: m pvmfw
Change-Id: I46118aa4e058e5d4002bee92cb6bf1f92a3a8e41
diff --git a/Android.bp b/Android.bp
index 46dfd24..53e7381 100644
--- a/Android.bp
+++ b/Android.bp
@@ -50,8 +50,6 @@
     cargo_pkg_version: "0.2.0",
     srcs: ["src/lib.rs"],
     edition: "2021",
-    prefer_rlib: true,
-    no_stdlibs: true,
     rustlibs: [
         "libciborium_io_nostd",
         "libciborium_ll_nostd",
@@ -61,4 +59,13 @@
         "//apex_available:platform",
         "//apex_available:anyapex",
     ],
+    prefer_rlib: true,
+    no_stdlibs: true,
+    stdlibs: [
+        "liballoc.rust_sysroot",
+        "libcompiler_builtins.rust_sysroot",
+        "libcore.rust_sysroot",
+    ],
+    product_available: true,
+    vendor_available: true,
 }
diff --git a/cargo2android.json b/cargo2android.json
index 07c27da..adac568 100644
--- a/cargo2android.json
+++ b/cargo2android.json
@@ -1,7 +1,18 @@
 {
-  "add-toplevel-block": "cargo2android_nostd.bp",
   "device": true,
   "run": true,
   "dependencies": true,
-  "vendor-available": true
+  "variants": [
+    {
+    },
+    {
+      "alloc": true,
+      "dependency_suffix": "_nostd",
+      "features": "",
+      "force-rlib": true,
+      "no-host": true,
+      "suffix": "_nostd",
+      "no-std": true
+    }
+  ]
 }
diff --git a/cargo2android_nostd.bp b/cargo2android_nostd.bp
deleted file mode 100644
index 1b35e95..0000000
--- a/cargo2android_nostd.bp
+++ /dev/null
@@ -1,19 +0,0 @@
-rust_library_rlib {
-    name: "libciborium_nostd",
-    crate_name: "ciborium",
-    cargo_env_compat: true,
-    cargo_pkg_version: "0.2.0",
-    srcs: ["src/lib.rs"],
-    edition: "2021",
-    prefer_rlib: true,
-    no_stdlibs: true,
-    rustlibs: [
-        "libciborium_io_nostd",
-        "libciborium_ll_nostd",
-        "libserde_nostd",
-    ],
-    apex_available: [
-        "//apex_available:platform",
-        "//apex_available:anyapex",
-    ],
-}