Abootimg android port
Перейти к навигации
Перейти к поиску
Сборка 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; }