2015-04-28 3 views
0

Я пытаюсь построить android adb инструмент от sources. Так как файл Android.mk представлен i'm running ndk-build инструмент для его создания. Но, к сожалению, у меня возникают следующие ошибки:Как создать статическую библиотеку хоста с Android NDK?

/Users/user/Documents/dev/tmp/adb/jni/Android.mk:95: /softdev/android-ndk-r10c/build/core/build-host-static-library.mk: No such file or directory 
/Users/user/Documents/dev/tmp/adb/jni/Android.mk:183: /softdev/android-ndk-r10c/build/core/build-host-executable.mk: No such file or directory 
Android NDK: Trying to define local module 'adbd' in /Users/user/Documents/dev/tmp/adb/jni/Android.mk.  
Android NDK: But this module was already defined by /Users/user/Documents/dev/tmp/adb/jni/Android.mk.  
/softdev/android-ndk-r10c/build/core/build-module.mk:34: *** Android NDK: Aborting. . Stop. 

Я проверил файлы (build-host-*-*.mk) отсутствуют по какой-то причине. Я нашел их у кого-то git repo, но это для окон. После копирования build-host-*-*.mk в моей локальной папке НДК я получаю еще ошибки:

Android NDK: /Users/user/Documents/dev/tmp/adb/jni/Android.mk:adb: Unknown LOCAL_MODULE_CLASS value: HOST_STATIC_LIBRARY  
/softdev/android-ndk-r10c/build/core/build-module.mk:29: *** Android NDK: Aborting . Stop. 

Таким образом, кажется, что просто копирование файлов, что не хватает. Как я могу сделать это?

+1

Я нашел автономную версию инструмента adb в этом реестре github: https://github.com/olunx/adb, который можно создать с помощью autotools – 4ntoine

ответ

1

adb - это инструмент для хоста (который работает на вашем ПК, а не на устройстве Android), а NDK не поддерживает создание исполняемых файлов хоста. Он предоставляет некоторые заглушки, но функция никогда не была полностью реализована.

Git repo, с которым вы связываетесь, не является официальным NDK r7b, но добавлена ​​исправленная версия с поддержкой целевой цели. Это включает немного больше, чем просто один файл - см. Полный diff here.

Вам необходимо будет применить этот патч (или скопировать все скрипты, которые были изменены) на локальную настройку NDK. Если вы используете версию NDK, отличную от r7b, возможно, вам придется внести некоторые дополнительные изменения.

См. Также мой question, в котором я в основном столкнулся с той же проблемой.

Смежные вопросы