经过数小时的研究,我们终于做到了,希望这能帮助人们更快地相处:
我们从默认的Android NDK切换到了CrystaX NDK 10,其中包含libpython2.7。然后我们调整了安卓.mk看起来像这样:LOCAL_PATH := $(call my-dir)
CRYSTAX_PATH := /home/user/crystax-ndk-10.3.2
...
# Build libpyjni.so (pyjni.c may be an project source file you wrote)
include $(CLEAR_VARS)
LOCAL_MODULE := pyjni
LOCAL_SRC_FILES := pyjni.c
LOCAL_SHARED_LIBRARIES += python2.7 crystax
LOCAL_LDLIBS += -llog
include $(BUILD_SHARED_LIBRARY)
# Include libpython2.7.so
include $(CLEAR_VARS)
LOCAL_MODULE := python2.7
LOCAL_SRC_FILES := $(CRYSTAX_PATH)/sources/python/2.7/libs/$(TARGET_ARCH_ABI)/libpython2.7.so
LOCAL_SHARED_LIBRARIES := crystax
LOCAL_EXPORT_CFLAGS := -I $(CRYSTAX_PATH)/sources/python/2.7/include/python/
include $(PREBUILT_SHARED_LIBRARY)
# Include libcrystax.so (needed by python library)
include $(CLEAR_VARS)
LOCAL_MODULE := crystax
LOCAL_SRC_FILES := $(NDK_PATH)/sources/crystax/libs/$(TARGET_ARCH_ABI)/libcrystax.so
LOCAL_EXPORT_CFLAGS := -I $(NDK_PATH)/sources/crystax/include/
include $(PREBUILT_SHARED_LIBRARY)
然后我们可以在Android工作室中构建这个项目。在