diff --git a/Android.bp b/Android.bp
index 2b36744..96beb97 100644
--- a/Android.bp
+++ b/Android.bp
@@ -1,90 +1 @@
-// This file is generated by cargo_embargo.
-// Do not modify this file because the changes will be overridden on upgrade.
-
-package {
-    default_applicable_licenses: ["external_rust_crates_libsqlite3-sys_license"],
-    default_team: "trendy_team_android_rust",
-}
-
-license {
-    name: "external_rust_crates_libsqlite3-sys_license",
-    visibility: [":__subpackages__"],
-    license_kinds: ["SPDX-license-identifier-MIT"],
-    license_text: ["LICENSE"],
-}
-
-rust_library {
-    name: "liblibsqlite3_sys",
-    host_supported: true,
-    crate_name: "libsqlite3_sys",
-    cargo_env_compat: true,
-    cargo_pkg_version: "0.30.0",
-    crate_root: "src/lib.rs",
-    srcs: [":libsqlite3_bindgen"],
-    edition: "2021",
-    features: [
-        "default",
-        "min_sqlite_version_3_14_0",
-        "pkg-config",
-        "vcpkg",
-    ],
-    shared_libs: ["libsqlite"],
-    apex_available: [
-        "//apex_available:platform",
-        "//apex_available:anyapex",
-    ],
-    product_available: true,
-    vendor_available: true,
-    min_sdk_version: "29",
-}
-
-rust_test {
-    name: "libsqlite3-sys_test_src_lib",
-    host_supported: true,
-    crate_name: "libsqlite3_sys",
-    cargo_env_compat: true,
-    cargo_pkg_version: "0.30.0",
-    crate_root: "src/lib.rs",
-    srcs: [":libsqlite3_bindgen"],
-    test_suites: ["general-tests"],
-    auto_gen_config: true,
-    test_options: {
-        unit_test: true,
-    },
-    edition: "2021",
-    features: [
-        "default",
-        "min_sqlite_version_3_14_0",
-        "pkg-config",
-        "vcpkg",
-    ],
-    shared_libs: ["libsqlite"],
-}
-
-rust_bindgen {
-    name: "libsqlite3_bindgen",
-    host_supported: true,
-    crate_name: "sqlite3_bindgen",
-    custom_bindgen: "sqlite3_bindgen_build",
-    wrapper_src: "wrapper.h",
-    source_stem: "bindgen",
-    header_libs: ["libsqlite"],
-    defaults: ["sqlite-defaults"],
-    apex_available: [
-        "//apex_available:platform",
-        "//apex_available:anyapex",
-    ],
-    product_available: true,
-    vendor_available: true,
-    min_sdk_version: "29",
-}
-
-rust_test {
-    name: "libsqlite3_bindgen_test",
-    srcs: [":libsqlite3_bindgen"],
-    crate_name: "sqlite3_bindgen_test",
-    test_suites: ["general-tests"],
-    auto_gen_config: true,
-    clippy_lints: "none",
-    lints: "none",
-}
+// This crate has been migrated to external/rust/android-crates-io.
diff --git a/TEST_MAPPING b/TEST_MAPPING
deleted file mode 100644
index 76a1dc0..0000000
--- a/TEST_MAPPING
+++ /dev/null
@@ -1,27 +0,0 @@
-// Generated by update_crate_tests.py for tests that depend on this crate.
-{
-  "imports": [
-    {
-      "path": "system/security/keystore2"
-    },
-    {
-      "path": "system/security/keystore2/legacykeystore"
-    }
-  ],
-  "presubmit": [
-    {
-      "name": "libsqlite3-sys_test_src_lib"
-    },
-    {
-      "name": "libsqlite3_bindgen_test"
-    }
-  ],
-  "presubmit-rust": [
-    {
-      "name": "libsqlite3-sys_test_src_lib"
-    },
-    {
-      "name": "libsqlite3_bindgen_test"
-    }
-  ]
-}
diff --git a/android/Android.bp b/android/Android.bp
deleted file mode 100644
index 2398e47..0000000
--- a/android/Android.bp
+++ /dev/null
@@ -1,22 +0,0 @@
-package {
-    // See: http://go/android-license-faq
-    // A large-scale-change added 'default_applicable_licenses' to import
-    // all of the 'license_kinds' from "external_rust_crates_libsqlite3-sys_license"
-    // to get the below license kinds:
-    //   SPDX-license-identifier-MIT
-    default_applicable_licenses: [
-        "external_rust_crates_libsqlite3-sys_license",
-    ],
-}
-
-rust_binary_host {
-    name: "sqlite3_bindgen_build",
-    host_cross_supported: false,
-    srcs: ["build.rs"],
-    rustlibs: [
-        "libbindgen",
-        "libbindgen_cmd",
-    ],
-    lints: "android",
-    clippy_lints: "android",
-}
diff --git a/android/build.rs b/android/build.rs
deleted file mode 100644
index 473897f..0000000
--- a/android/build.rs
+++ /dev/null
@@ -1,44 +0,0 @@
-//! SQLite bindgen configuration
-
-use bindgen::callbacks::{IntKind, ParseCallbacks};
-
-#[derive(Debug)]
-struct SqliteTypeChooser;
-
-impl ParseCallbacks for SqliteTypeChooser {
-    fn int_macro(&self, _name: &str, value: i64) -> Option<IntKind> {
-        if value >= i32::MIN as i64 && value <= i32::MAX as i64 {
-            Some(IntKind::I32)
-        } else {
-            None
-        }
-    }
-}
-
-fn main() {
-    bindgen_cmd::build(|mut builder| {
-        builder = builder
-            .parse_callbacks(Box::new(SqliteTypeChooser))
-            .rustfmt_bindings(true)
-            .blocklist_function("sqlite3_vmprintf")
-            .blocklist_function("sqlite3_vsnprintf")
-            .blocklist_function("sqlite3_str_vappendf")
-            .blocklist_type("va_list")
-            .blocklist_type("__builtin_va_list")
-            .blocklist_type("__gnuc_va_list")
-            .blocklist_type("__va_list_tag")
-            .blocklist_item("__GNUC_VA_LIST");
- 
-        if cfg!(feature = "unlock_notify") {
-            builder = builder.clang_arg("-DSQLITE_ENABLE_UNLOCK_NOTIFY");
-        }
-        if cfg!(feature = "preupdate_hook") {
-            builder = builder.clang_arg("-DSQLITE_ENABLE_PREUPDATE_HOOK");
-        }
-        if cfg!(feature = "session") {
-            builder = builder.clang_arg("-DSQLITE_ENABLE_SESSION");
-        }
-
-        builder
-    })
-}
diff --git a/bindgen_modules.bp b/bindgen_modules.bp
deleted file mode 100644
index 71440cb..0000000
--- a/bindgen_modules.bp
+++ /dev/null
@@ -1,27 +0,0 @@
-rust_bindgen {
-    name: "libsqlite3_bindgen",
-    host_supported: true,
-    crate_name: "sqlite3_bindgen",
-    custom_bindgen: "sqlite3_bindgen_build",
-    wrapper_src: "wrapper.h",
-    source_stem: "bindgen",
-    header_libs: ["libsqlite"],
-    defaults: ["sqlite-defaults"],
-    apex_available: [
-        "//apex_available:platform",
-        "//apex_available:anyapex",
-    ],
-    product_available: true,
-    vendor_available: true,
-    min_sdk_version: "29",
-}
-
-rust_test {
-    name: "libsqlite3_bindgen_test",
-    srcs: [":libsqlite3_bindgen"],
-    crate_name: "sqlite3_bindgen_test",
-    test_suites: ["general-tests"],
-    auto_gen_config: true,
-    clippy_lints: "none",
-    lints: "none",
-}
diff --git a/cargo_embargo.json b/cargo_embargo.json
deleted file mode 100644
index 09eba36..0000000
--- a/cargo_embargo.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-  "min_sdk_version": "29",
-  "package": {
-    "libsqlite3-sys": {
-      "add_toplevel_block": "bindgen_modules.bp",
-      "patch": "patches/Android.bp.patch"
-    }
-  },
-  "product_available": true,
-  "run_cargo": false,
-  "tests": true,
-  "vendor_available": true
-}
