如何使用Android NDK构建主机静态库?

时间:2015-04-28 07:19:44

标签: android android-ndk adb

我正在尝试从sources构建android var d = DriveApp.getRootFolder(); 工具。由于文件adb已呈现,我正在运行Android.mk工具来构建它。但不幸的是我遇到了以下错误:

ndk-build

我检查过文件(/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. )由于某种原因缺席。我在某人的git repo找到了它们,但这是用于Windows的。将build-host-*-*.mk复制到我的本地ndk文件夹后,我收到了另一个错误:

build-host-*-*.mk

所以似乎只是复制那些文件是不够的。我怎样才能建成它?

1 个答案:

答案 0 :(得分:1)

adb是一个主机工具(在您的PC上而不是在Android设备上运行),NDK不支持构建主机可执行文件。它确实提供了一些存根,但该功能从未完全实现。

您链接的git repo不是官方NDK r7b,而是添加了主机目标支持的修补版本。这包括的不仅仅是一个文件 - 请参阅完整的差异here

您需要将此修补程序(或将所有已修改的脚本复制)应用于本地NDK设置。如果您运行的是除r7b之外的NDK版本,则可能需要进行一些其他修改。

另见我的question,其中我基本上遇到了同样的问题。

相关问题