为Android安装英特尔TBB - ARMv7 ARMv8 MIPS

时间:2016-05-11 10:07:44

标签: android c++ android-studio android-ndk tbb

我发现在使用Android NDK和intel TBB开发Android应用程序的工作.so库方面存在一些严重困难。 基本上我已经为Android下载了4.4版Update 4软件包,并按照那里的步骤进行操作(有点,因为文档不正确......)。

问题是我在编译时只能获得x86和x86_64 .so库,因为没有armeabi-XXX或mips文件夹,其中包含必要的.so文件。

使用建议的命令./ndk-build.cmd tbb target=android arch=arm不产生任何东西,事实上它告诉我

  未找到

/workspace/tbb44_20160413oss/lib/android/mips/libtbb.so库。将mips版本的库复制到/ home / filippo / workspace / tbb44_20160413oss / lib / android / mips文件夹以启用其构建。

和其他缺少的目录一样。

之前仅使用./ndk-build.cmd tbb target=android给了我一些dirs:x86和x86_64,我可以在Android Studio中使用它,并使用模拟器。

结果是,我可以在模拟器上正确测试我的应用程序,但无法使其在我的个人设备中运行。 我在这里缺少什么?

Application.mk

APP_ABI := x86 x86_64 // if I choose all, of course it won't find the .so for the other architectures
APP_GNUSTL_FORCE_CPP_FEATURES := exceptions rtti
APP_STL := gnustl_shared

Android.mk

LOCAL_PATH := $(call my-dir)

#
# TBB
#
include $(CLEAR_VARS)
LOCAL_MODULE    := libtbb
LOCAL_SRC_FILES := $(LOCAL_PATH)/$(TARGET_ARCH_ABI)/libtbb.so
include $(PREBUILT_SHARED_LIBRARY)


#
# Main module
#
include $(CLEAR_VARS)
LOCAL_MODULE := myndkapp
LOCAL_SHARED_LIBRARY := libtbb
include $(BUILD_SHARED_LIBRARY)

感谢。

1 个答案:

答案 0 :(得分:1)

正如你在'jni / Application.mk'中看到的,你可以使用目标'ia32','intel64','arm'和'arm64'。

此外,您似乎尝试在Windows平台上构建,因此您应该在make命令中添加tbb_os=windows,如下所示:

C:\TEMP\tbb44_20160413oss\src>ndk-build.cmd tbb tbbmalloc target=android arch=arm tbb_os=windows