首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有Ubuntusimg2img/make_ext4fs的UnPack / rePack android

带有Ubuntusimg2img/make_ext4fs的UnPack / rePack android
EN

Stack Overflow用户
提问于 2014-10-27 13:52:46
回答 1查看 7.9K关注 0票数 0

我在ubuntu 14.04.1上玩这两个工具:

  • simg2img
  • make_ext4fs

第一个工具工作得很好。但是,当我试图编译第二个工具更改的映像时,输出中出现了以下错误:

代码语言:javascript
复制
can't set android permissions - built without android support

我已经在正式的ubuntu包中安装了这两个工具,也安装了看起来更新得更多的debian包。

有人能帮我吗?如何编译这两个工具?

谢谢,

更新

我编写了这个脚本来编译这个工具,但是错误仍然存在:

代码语言:javascript
复制
sudo apt-get install git zlib1g-dev gcc make libpcre3-dev

URL="https://android.googlesource.com/platform/system/core"
git clone --depth 1 "$URL" "$(basename $URL)"
URL="https://android.googlesource.com/platform/system/extras"
git clone --depth 1 "$URL" "$(basename $URL)"
URL="https://android.googlesource.com/platform/external/libselinux"
git clone --depth 1 "$URL" "$(basename $URL)"


git clone "extras" "extras-build"

DIR=$(pwd)

cd "extras-build/ext4_utils"


gcc  -Wall \
    -o make_ext4fs \
    -DHAVE_ANDROID_OS -DHOST \
    -I$DIR/core/libsparse/include \
    -I$DIR/libselinux/include \
    make_ext4fs_main.c \
    make_ext4fs.c \
    ext4fixup.c \
    ext4_utils.c \
    allocate.c \
    contents.c \
    extent.c \
    indirect.c \
    uuid.c \
    sha1.c \
    wipe.c \
    crc16.c \
    ext4_sb.c \
    $DIR/core/libsparse/backed_block.c \
    $DIR/core/libsparse/output_file.c \
    $DIR/core/libsparse/sparse.c \
    $DIR/core/libsparse/sparse_crc32.c \
    $DIR/core/libsparse/sparse_err.c \
    $DIR/core/libsparse/sparse_read.c \
    $DIR/libselinux/src/callbacks.c \
    $DIR/libselinux/src/check_context.c \
    $DIR/libselinux/src/freecon.c \
    $DIR/libselinux/src/init.c \
    $DIR/libselinux/src/label.c \
    $DIR/libselinux/src/label_android_property.c \
    $DIR/libselinux/src/label_file.c\
    -lz \
    -lpcre

更新2: --这是最终代码:

代码语言:javascript
复制
sudo apt-get install git zlib1g-dev gcc make libpcre3-dev

URL="https://android.googlesource.com/platform/system/core"
git clone --depth 1 "$URL" "$(basename $URL)"
URL="https://android.googlesource.com/platform/system/extras"
git clone --depth 1 "$URL" "$(basename $URL)"
URL="https://android.googlesource.com/platform/external/libselinux"
git clone --depth 1 "$URL" "$(basename $URL)"


git clone "extras" "extras-build"


cd "extras-build/ext4_utils"


gcc  -Wall \
    -o make_ext4fs \
    -I$DIR/core/include -DANDROID \
    -DHAVE_ANDROID_OS -DHOST \
    -I$DIR/core/libsparse/include \
    -I$DIR/libselinux/include \
    make_ext4fs_main.c \
    make_ext4fs.c \
    ext4fixup.c \
    ext4_utils.c \
    allocate.c \
    contents.c \
    extent.c \
    indirect.c \
    uuid.c \
    sha1.c \
    wipe.c \
    crc16.c \
    ext4_sb.c \
    $DIR/core/libsparse/backed_block.c \
    $DIR/core/libsparse/output_file.c \
    $DIR/core/libsparse/sparse.c \
    $DIR/core/libsparse/sparse_crc32.c \
    $DIR/core/libsparse/sparse_err.c \
    $DIR/core/libsparse/sparse_read.c \
    $DIR/libselinux/src/callbacks.c \
    $DIR/libselinux/src/check_context.c \
    $DIR/libselinux/src/freecon.c \
    $DIR/libselinux/src/init.c \
    $DIR/libselinux/src/label.c \
    $DIR/libselinux/src/label_android_property.c \
    $DIR/libselinux/src/label_file.c\
    -lz \
    -lpcre
EN

回答 1

Stack Overflow用户

发布于 2018-10-04 14:46:35

我在构建make_ext4fs上挣扎了几个小时,然后终于找到了一个预编译的二进制文件,可以在Debian系统上运行:http://blog.djodjo.org/?p=98

重新包装我的system.img是完美无缺的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26589111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档