我在ubuntu 14.04.1上玩这两个工具:
第一个工具很棒。 但是当我尝试使用第二个工具编译更改的图像时,我输出了这个错误:
can't set android permissions - built without android support
我已经使用ubuntu的官方软件包安装了这两个工具,并且还使用了似乎更新的debian软件包。
任何人都可以帮助我吗? 我怎么能编译这两个工具?
谢谢,
更新
我已编写此脚本以编译此工具,但错误仍然存在:
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: 这是最终的代码:
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
答案 0 :(得分:0)
我花了好几个小时来构建make_ext4fs,然后终于找到了可以在我的Debian系统上运行的预编译二进制文件:http://blog.djodjo.org/?p=98
重新包装我的system.img,这一点很完美。