mirror of
https://github.com/opencv/opencv.git
synced 2025-06-13 04:52:53 +08:00
Merge pull request #8653 from alalek:android_fixes
This commit is contained in:
commit
ea49d7b7c5
@ -94,6 +94,8 @@ LOCAL_CFLAGS += $(OPENCV_LOCAL_CFLAGS)
|
|||||||
ifeq ($(OPENCV_INSTALL_MODULES),on)
|
ifeq ($(OPENCV_INSTALL_MODULES),on)
|
||||||
LOCAL_$(OPENCV_LIB_TYPE)_LIBRARIES += $(foreach mod, $(OPENCV_LIBS), opencv_$(mod))
|
LOCAL_$(OPENCV_LIB_TYPE)_LIBRARIES += $(foreach mod, $(OPENCV_LIBS), opencv_$(mod))
|
||||||
else
|
else
|
||||||
|
$(call __ndk_info,OpenCV: You should ignore warning about 'non-system libraries in linker flags' and 'opencv_java' library.)
|
||||||
|
$(call __ndk_info, 'OPENCV_INSTALL_MODULES:=on' can be used to build APK with included OpenCV binaries)
|
||||||
LOCAL_LDLIBS += -L$(call host-path,$(LOCAL_PATH)/$(OPENCV_LIBS_DIR)) $(foreach lib, $(OPENCV_LIBS), -lopencv_$(lib))
|
LOCAL_LDLIBS += -L$(call host-path,$(LOCAL_PATH)/$(OPENCV_LIBS_DIR)) $(foreach lib, $(OPENCV_LIBS), -lopencv_$(lib))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -2,7 +2,6 @@ LOCAL_PATH := $(call my-dir)
|
|||||||
|
|
||||||
include $(CLEAR_VARS)
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
OPENCV_CAMERA_MODULES := off
|
|
||||||
include OpenCV.mk
|
include OpenCV.mk
|
||||||
|
|
||||||
LOCAL_MODULE := opencv_java
|
LOCAL_MODULE := opencv_java
|
||||||
|
@ -1150,8 +1150,10 @@ if( APPLE )
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Force set compilers because standard identification works badly for us
|
# Force set compilers because standard identification works badly for us
|
||||||
include( CMakeForceCompiler )
|
if( CMAKE_VERSION VERSION_LESS 3.5.0 )
|
||||||
CMAKE_FORCE_C_COMPILER( "${CMAKE_C_COMPILER}" GNU )
|
include( CMakeForceCompiler )
|
||||||
|
CMAKE_FORCE_C_COMPILER( "${CMAKE_C_COMPILER}" GNU )
|
||||||
|
endif()
|
||||||
if( ANDROID_COMPILER_IS_CLANG )
|
if( ANDROID_COMPILER_IS_CLANG )
|
||||||
set( CMAKE_C_COMPILER_ID Clang )
|
set( CMAKE_C_COMPILER_ID Clang )
|
||||||
endif()
|
endif()
|
||||||
@ -1163,7 +1165,9 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
set( CMAKE_C_HAS_ISYSROOT 1 )
|
set( CMAKE_C_HAS_ISYSROOT 1 )
|
||||||
set( CMAKE_C_COMPILER_ABI ELF )
|
set( CMAKE_C_COMPILER_ABI ELF )
|
||||||
CMAKE_FORCE_CXX_COMPILER( "${CMAKE_CXX_COMPILER}" GNU )
|
if( CMAKE_VERSION VERSION_LESS 3.5.0 )
|
||||||
|
CMAKE_FORCE_CXX_COMPILER( "${CMAKE_CXX_COMPILER}" GNU )
|
||||||
|
endif()
|
||||||
if( ANDROID_COMPILER_IS_CLANG )
|
if( ANDROID_COMPILER_IS_CLANG )
|
||||||
set( CMAKE_CXX_COMPILER_ID Clang)
|
set( CMAKE_CXX_COMPILER_ID Clang)
|
||||||
endif()
|
endif()
|
||||||
|
@ -73,12 +73,12 @@ class TestNDKBuild(unittest.TestCase):
|
|||||||
p = []
|
p = []
|
||||||
if self.libtype == "static":
|
if self.libtype == "static":
|
||||||
p.append("OPENCV_LIB_TYPE := STATIC")
|
p.append("OPENCV_LIB_TYPE := STATIC")
|
||||||
elif self.libtype == "shared_debug":
|
|
||||||
p.append("OPENCV_LIB_TYPE := SHARED")
|
|
||||||
p.append("OPENCV_CAMERA_MODULES:=on")
|
|
||||||
p.append("OPENCV_INSTALL_MODULES:=on")
|
|
||||||
elif self.libtype == "shared":
|
elif self.libtype == "shared":
|
||||||
p.append("OPENCV_LIB_TYPE := SHARED")
|
p.append("OPENCV_LIB_TYPE := SHARED")
|
||||||
|
p.append("OPENCV_INSTALL_MODULES:=on")
|
||||||
|
elif self.libtype == "shared_opencv_manager":
|
||||||
|
p.append("OPENCV_LIB_TYPE := SHARED")
|
||||||
|
p.append("OPENCV_INSTALL_MODULES:=off")
|
||||||
p.append("include %s" % os.path.join(self.opencv_mk_path, "OpenCV.mk"))
|
p.append("include %s" % os.path.join(self.opencv_mk_path, "OpenCV.mk"))
|
||||||
return TEMPLATE_ANDROID_MK.format(cut = "\n".join(p), cpp1 = self.cpp1, cpp2 = self.cpp2)
|
return TEMPLATE_ANDROID_MK.format(cut = "\n".join(p), cpp1 = self.cpp1, cpp2 = self.cpp2)
|
||||||
|
|
||||||
@ -115,14 +115,17 @@ class TestNDKBuild(unittest.TestCase):
|
|||||||
def suite(workdir, opencv_mk_path):
|
def suite(workdir, opencv_mk_path):
|
||||||
abis = ["armeabi", "armeabi-v7a", "x86", "mips"]
|
abis = ["armeabi", "armeabi-v7a", "x86", "mips"]
|
||||||
ndk_path = os.environ["ANDROID_NDK"]
|
ndk_path = os.environ["ANDROID_NDK"]
|
||||||
with open(os.path.join(ndk_path, "RELEASE.TXT"), "r") as f:
|
if os.path.exists(os.path.join(ndk_path, "RELEASE.TXT")):
|
||||||
s = f.read()
|
with open(os.path.join(ndk_path, "RELEASE.TXT"), "r") as f:
|
||||||
if re.search(r'r10[b-e]', s):
|
s = f.read()
|
||||||
abis.extend(["arm64-v8a", "x86", "x86_64"])
|
if re.search(r'r10[b-e]', s):
|
||||||
|
abis.extend(["arm64-v8a", "x86_64"])
|
||||||
|
if os.path.exists(os.path.join(ndk_path, "source.properties")): # Android NDK 11+
|
||||||
|
abis.extend(["arm64-v8a", "x86_64"])
|
||||||
abis.append("all")
|
abis.append("all")
|
||||||
|
|
||||||
suite = unittest.TestSuite()
|
suite = unittest.TestSuite()
|
||||||
for libtype in ["static", "shared", "shared_debug"]:
|
for libtype in ["static", "shared", "shared_opencv_manager"]:
|
||||||
for abi in abis:
|
for abi in abis:
|
||||||
suite.addTest(TestNDKBuild(abi, libtype, opencv_mk_path, workdir))
|
suite.addTest(TestNDKBuild(abi, libtype, opencv_mk_path, workdir))
|
||||||
return suite
|
return suite
|
||||||
|
@ -2,7 +2,6 @@ LOCAL_PATH := $(call my-dir)
|
|||||||
|
|
||||||
include $(CLEAR_VARS)
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
#OPENCV_CAMERA_MODULES:=off
|
|
||||||
#OPENCV_INSTALL_MODULES:=off
|
#OPENCV_INSTALL_MODULES:=off
|
||||||
#OPENCV_LIB_TYPE:=SHARED
|
#OPENCV_LIB_TYPE:=SHARED
|
||||||
ifdef OPENCV_ANDROID_SDK
|
ifdef OPENCV_ANDROID_SDK
|
||||||
|
Loading…
Reference in New Issue
Block a user