Abootimg android port
Jump to navigation
Jump to search
Сборка abootimg для андроида
Исходники abootimg доступны, живут тут https://gitorious.org/ac100/abootimg
- Первая попытка сборки с использованием андроид ndk не увенчалась успехом, т.к. в Bionic libc которую использует андроид нет
нужных функций getline и fmemopen
- по getline нашел пару реализаций функции для андроида тут http://code.google.com/p/android-wifi-tether/source/browse/tools/wireless-tools/getline.c?r=509
и тут http://lists.landley.net/pipermail/toybox-landley.net/2012-March/000345.html
- Посмотреть какая из них нам подходит и попробовать засунуть внутрь abootimg
- по fmemopen сложнее, нашел месагу на форуме, что можно использовать код из DragonflyBSD libc тут https://groups.google.com/forum/?fromgroups=#!topic/android-ndk/riK7krdofjE
- Сам нужный код похоже тут http://gitweb.dragonflybsd.org/dragonfly.git/blob/master:/lib/libc/stdio/fmemopen.c
- Вот такой fmemopen подошел, спасибо stuw
#include <assert.h>
FILE *fmemopen (void *buf, size_t size, const char *opentype)
{
FILE *f;
assert(strcmp(opentype, "r") == 0);
f = tmpfile();
fwrite(buf, 1, size, f);
rewind(f);
return f;
}