diff --git a/Android.bp b/Android.bp
new file mode 100644
index 0000000..4494013
--- /dev/null
+++ b/Android.bp
@@ -0,0 +1,119 @@
+//
+// Copyright (C) 2020 Gao Xiang
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package {
+    default_applicable_licenses: ["external_erofs-utils_license"],
+}
+
+// Added automatically by a large-scale-change that took the approach of
+// 'apply every license found to every target'. While this makes sure we respect
+// every license restriction, it may not be entirely correct.
+//
+// e.g. GPL in an MIT project might only apply to the contrib/ directory.
+//
+// Please consider splitting the single license below into multiple licenses,
+// taking care not to lose any license_kind information, and overriding the
+// default license using the 'licenses: [...]' property on targets as needed.
+//
+// For unused files, consider creating a 'fileGroup' with "//visibility:private"
+// to attach the license to, and including a comment whether the files may be
+// used in the current project.
+// See: http://go/android-license-faq
+license {
+    name: "external_erofs-utils_license",
+    visibility: [":__subpackages__"],
+    license_kinds: [
+        "SPDX-license-identifier-GPL",
+        "SPDX-license-identifier-GPL-2.0",
+        "SPDX-license-identifier-LGPL",
+    ],
+    license_text: [
+        "COPYING",
+    ],
+}
+
+genrule {
+    name: "erofs-utils-version.h",
+    srcs: ["VERSION"],
+    out: ["erofs-utils-version.h"],
+    cmd: "sed -n '1p' $(in) | tr -d '\n' | sed 's/\\(.*\\)/#define PACKAGE_VERSION \"\\1\"/' > $(out)",
+}
+
+cc_defaults {
+    name: "erofs-utils_defaults",
+
+    cflags: [
+        "-Wall",
+        "-Werror",
+        "-Wno-ignored-qualifiers",
+        "-Wno-pointer-arith",
+        "-Wno-unused-parameter",
+        "-include erofs-utils-version.h",
+        "-DHAVE_FALLOCATE",
+        "-DHAVE_LINUX_TYPES_H",
+        "-DHAVE_LIBSELINUX",
+        "-DHAVE_LIBUUID",
+        "-DLZ4_ENABLED",
+        "-DLZ4HC_ENABLED",
+        "-DWITH_ANDROID",
+    ],
+    local_include_dirs: [
+        "include",
+    ],
+    include_dirs: [
+        "external/e2fsprogs/lib/",
+    ],
+    generated_headers: ["erofs-utils-version.h"],
+    shared_libs: [
+        "libcutils",
+        "libext2_uuid",
+        "libselinux",
+    ],
+    static_libs: [
+        "liblz4",
+    ],
+}
+
+cc_binary_host {
+    name: "mkfs.erofs",
+
+    defaults: ["erofs-utils_defaults"],
+
+    srcs: [
+        "lib/*.c",
+        "mkfs/*.c",
+    ],
+
+    target: {
+        darwin: {
+            enabled: false,
+        },
+    },
+}
+
+sh_binary_host {
+    name: "mkerofsimage.sh",
+    src: "mkerofsimage.sh",
+    required: [
+        "img2simg",
+        "mkfs.erofs",
+    ],
+
+    target: {
+        darwin: {
+            enabled: false,
+        },
+    },
+}
diff --git a/LICENSE b/LICENSE
new file mode 120000
index 0000000..d24842f
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1 @@
+COPYING
\ No newline at end of file
diff --git a/METADATA b/METADATA
new file mode 100644
index 0000000..c4346bf
--- /dev/null
+++ b/METADATA
@@ -0,0 +1,15 @@
+name: "erofs-utils"
+description: "EROFS Utilities"
+third_party {
+  url {
+    type: GIT
+    value: "https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git"
+  }
+  version: "v1.3"
+  license_type: RESTRICTED
+  last_upgrade_date {
+    year: 2021
+    month: 7
+    day: 8
+  }
+}
diff --git a/MODULE_LICENSE_GPL b/MODULE_LICENSE_GPL
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/MODULE_LICENSE_GPL
diff --git a/mkerofsimage.sh b/mkerofsimage.sh
new file mode 100755
index 0000000..89bf40e
--- /dev/null
+++ b/mkerofsimage.sh
@@ -0,0 +1,111 @@
+#!/bin/bash
+#
+# To call this script, make sure mkfs.erofs is somewhere in PATH
+
+function usage() {
+cat<<EOT
+Usage:
+${0##*/} SRC_DIR OUTPUT_FILE [-s] [-m MOUNT_POINT] [-d PRODUCT_OUT] [-C FS_CONFIG ] [-c FILE_CONTEXTS] [-z COMPRESSOR] [-T TIMESTAMP] [-U UUID]
+EOT
+}
+
+echo "in mkerofsimage.sh PATH=$PATH"
+
+if [ $# -lt 2 ]; then
+    usage
+    exit 1
+fi
+
+SRC_DIR=$1
+if [ ! -d $SRC_DIR ]; then
+  echo "Can not find directory $SRC_DIR!"
+  exit 2
+fi
+OUTPUT_FILE=$2
+shift; shift
+
+SPARSE=false
+if [[ "$1" == "-s" ]]; then
+    SPARSE=true
+    shift;
+fi
+
+MOUNT_POINT=
+if [[ "$1" == "-m" ]]; then
+    MOUNT_POINT=$2
+    shift; shift
+fi
+
+PRODUCT_OUT=
+if [[ "$1" == "-d" ]]; then
+    PRODUCT_OUT=$2
+    shift; shift
+fi
+
+FS_CONFIG=
+if [[ "$1" == "-C" ]]; then
+    FS_CONFIG=$2
+    shift; shift
+fi
+
+FILE_CONTEXTS=
+if [[ "$1" == "-c" ]]; then
+    FILE_CONTEXTS=$2
+    shift; shift
+fi
+
+COMPRESSOR="lz4hc"
+if [[ "$1" == "-z" ]]; then
+    COMPRESSOR=$2
+    shift; shift
+fi
+
+TIMESTAMP=
+if [[ "$1" == "-T" ]]; then
+    TIMESTAMP=$2
+    shift; shift
+fi
+
+UUID=
+if [[ "$1" == "-U" ]]; then
+    UUID=$2
+    shift; shift
+fi
+
+OPT=""
+if [ -n "$MOUNT_POINT" ]; then
+  OPT="$OPT --mount-point $MOUNT_POINT"
+fi
+if [ -n "$PRODUCT_OUT" ]; then
+  OPT="$OPT --product-out $PRODUCT_OUT"
+fi
+if [ -n "$FS_CONFIG" ]; then
+  OPT="$OPT --fs-config-file $FS_CONFIG"
+fi
+if [ -n "$FILE_CONTEXTS" ]; then
+  OPT="$OPT --file-contexts $FILE_CONTEXTS"
+fi
+if [ -n "$TIMESTAMP" ]; then
+  OPT="$OPT -T $TIMESTAMP"
+fi
+if [ -n "$UUID" ]; then
+  OPT="$OPT -U $UUID"
+fi
+
+MAKE_EROFS_CMD="mkfs.erofs -z $COMPRESSOR $OPT $OUTPUT_FILE $SRC_DIR"
+echo $MAKE_EROFS_CMD
+$MAKE_EROFS_CMD
+
+if [ $? -ne 0 ]; then
+    exit 4
+fi
+
+SPARSE_SUFFIX=".sparse"
+if [ "$SPARSE" = true ]; then
+    img2simg $OUTPUT_FILE $OUTPUT_FILE$SPARSE_SUFFIX
+    if [ $? -ne 0 ]; then
+        exit 4
+    fi
+    mv $OUTPUT_FILE$SPARSE_SUFFIX $OUTPUT_FILE
+fi
+
