我有lib的源代码,我想为android创建静态库。 我怎样才能做到这一点?有没有办法用实验gradle做到这一点? 我也想建立不同的拱门(arm7,x86等)
答案 0 :(得分:0)
为Android构建原生二进制文件的最简单方法是使用Application.mk
工具。 Here是关于如何为项目设置构建的完整文档。
简而言之,您需要创建两个额外的文件:
# an example setup
APP_ABI := armeabi-v7a x86
APP_PLATFORM := android-16
APP_STL := stlport_static
NDK_TOOLCHAIN_VERSION := 4.8
:
Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := <lib_name> # put 'foo' to built libfoo.a
LOCAL_LDLIBS := -llog -lm # whatever libs you need
LOCAL_SRC_FILES := <source_files>
include $(BUILD_STATIC_LIBRARY)
:
$ ndk-build NDK_PROJECT_PATH=path/to/intermediate/results/dir NDK_LIBS_OUT=path/to/output/dir APP_BUILD_SCRIPT=path/to/Android.mk NDK_APPLICATION_MK=path/to/Application.mk
然后你可以用下一个命令启动build:
Exec
P.S。无论Android Studio如何改进NDK支持,使用ndk-build和手写的makefile都可以为您的项目提供更大的灵活性。无论如何,您可以通过gradle&#39; for
任务轻松嵌入基于ndk-build的构建。