Android NDK版本支持所有可用设备

时间:2015-11-13 07:21:03

标签: android opencv android-ndk opencv4android

我在我的项目中使用java文件和本机c ++代码。我想让应用程序适用于所有设备和硬件(API lvl> = 15)。如果重要的话,我也在java和我的本机c ++中使用OpenCV4Android。我不太确定我当前的配置是否足以支持所有可用的硬件:

Application.mk

APP_STL := gnustl_static
APP_CPPFLAGS := -frtti -fexceptions
APP_ABI := armeabi-v7a
APP_PLATFORM := android-9

Android.mk

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

OPENCV_CAMERA_MODULES:=on
OPENCV_INSTALL_MODULES:=on

include C:/OpenCV4Android/OpenCV-android-sdk/sdk/native/jni/OpenCV.mk

LOCAL_MODULE    := myNativeLib
LOCAL_SRC_FILES := myNativeLib.cpp
LOCAL_LDLIBS +=  -llog -ldl

include $(BUILD_SHARED_LIBRARY)

我已经在一些设备上测试了这个配置,它似乎可以正常工作,但APP_ABI := armeabi-v7a没有将支持的设备缩小到只有armeabi-v7a的设备,或者实际上每个设备都可以运行它?也许我应该插入这里提到的APP_ABI := allhttps://developer.android.com/ndk/guides/application_mk.html

让我的应用响应并为所有设备工作非常重要。

1 个答案:

答案 0 :(得分:1)

要支持所有平台,您应该使用APP_ABI := all 。对于API 15,请使用APP_PLATFORM := android-15。 请注意,您支持的平台越多,您的apk文件就越大,因为它会为您APK中的每个支持平台创建一个二进制文件。