diff --git a/app/build.gradle b/app/build.gradle index 3707a7d4..be38504a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -24,7 +24,7 @@ android { cppFlags '-std=c++17 -fexceptions -Wno-error=format-security' // cppFlags '-std=c++17 -Wno-error=format-security' // arguments "-DANDROID_STL=c++_shared" - arguments "-DNCNN_DISABLE_EXCEPTION=OFF", "-DOpenCV_DIR=" + opencvsdk + "/sdk/native/jni" + arguments "-DNCNN_DISABLE_EXCEPTION=OFF", "-DOpenCV_DIR=" + opencvsdk + "/sdk/native/jni", "-DASIO_ROOT=" + asioroot, "-DEVPP_ROOT=" + evpproot abiFilters 'arm64-v8a' // setAbiFilters(['arm64-v8a']) } diff --git a/app/src/main/cpp/CMakeLists.txt b/app/src/main/cpp/CMakeLists.txt index ce4ceccd..46d761f3 100644 --- a/app/src/main/cpp/CMakeLists.txt +++ b/app/src/main/cpp/CMakeLists.txt @@ -11,11 +11,17 @@ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ffunction-sections -fdata-sections") set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS}") # SET_TARGET_PROPERTIES(microphoto PROPERTIES LINK_FLAGS "-Wl,-s,--gc-sections") +IF (CMAKE_BUILD_TYPE STREQUAL Debug) + ADD_DEFINITIONS(-D_DEBUG) +ELSE() + ADD_DEFINITIONS(-DNDEBUG) +ENDIF() # add_definitions(-DBOOST_EXCEPTION_DISABLE) # add_definitions(-DBOOST_NO_EXCEPTIONS) add_definitions(-DTERMINAL_CLIENT) add_definitions(-DKEEP_FRAME_TYPE_ON_REVERSE) add_definitions(-DBOOST_ALL_NO_LIB) +add_definitions(-DASIO_STANDALONE) # set(OpenCV_DIR D:/Workspace/deps/OpenCV-android-sdk/sdk/native/jni/) set(OPENCV_EXTRA_MODULES_PATH D:/Workspace/Github/opencv_contrib/modules) @@ -56,9 +62,11 @@ SET(BREAKPAD_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/breakpad) SET(CAMERA2_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/camera2) +SET(EVPP_SRC_DIR ${EVPP_ROOT}/evpp) include_directories(${YAMC_INC_DIR}) include_directories(${BREAKPAD_ROOT} ${BREAKPAD_ROOT}/common/android/include) +include_directories(${ASIO_ROOT}/include) file(GLOB BREAKPAD_SOURCES_COMMON native-lib.cpp @@ -134,10 +142,85 @@ SET(CAMERA2_SOURCES # ${CAMERA2_ROOT_DIR}/utils/camera_utils.cpp ${CAMERA2_ROOT_DIR}/ndkcamera.cpp) +SET(EVPP_SOURCES + ${EVPP_SRC_DIR}/any.h + ${EVPP_SRC_DIR}/buffer.cc + ${EVPP_SRC_DIR}/buffer.h + ${EVPP_SRC_DIR}/connector.cc + ${EVPP_SRC_DIR}/connector.h + ${EVPP_SRC_DIR}/dns_resolver.cc + ${EVPP_SRC_DIR}/dns_resolver.h + ${EVPP_SRC_DIR}/duration.cc + ${EVPP_SRC_DIR}/duration.h + ${EVPP_SRC_DIR}/duration.inl.h + ${EVPP_SRC_DIR}/event_loop.cc + ${EVPP_SRC_DIR}/event_loop.h + ${EVPP_SRC_DIR}/event_loop_thread.cc + ${EVPP_SRC_DIR}/event_loop_thread.h + ${EVPP_SRC_DIR}/event_loop_thread_pool.cc + ${EVPP_SRC_DIR}/event_loop_thread_pool.h + ${EVPP_SRC_DIR}/event_watcher.cc + ${EVPP_SRC_DIR}/event_watcher.h + ${EVPP_SRC_DIR}/fd_channel.cc + ${EVPP_SRC_DIR}/fd_channel.h + ${EVPP_SRC_DIR}/gettimeofday.h + #${EVPP_SRC_DIR}/httpc\conn.cc + #${EVPP_SRC_DIR}/httpc\conn.h + #${EVPP_SRC_DIR}/httpc\conn_pool.cc + #${EVPP_SRC_DIR}/httpc\conn_pool.h + #${EVPP_SRC_DIR}/httpc\request.cc + #${EVPP_SRC_DIR}/httpc\request.h + #${EVPP_SRC_DIR}/httpc\response.cc + #${EVPP_SRC_DIR}/httpc\response.h + #${EVPP_SRC_DIR}/httpc\ssl.cc + #${EVPP_SRC_DIR}/httpc\ssl.h + #${EVPP_SRC_DIR}/httpc\url_parser.cc + #${EVPP_SRC_DIR}/httpc\url_parser.h + ${EVPP_SRC_DIR}/inner_pre.cc + ${EVPP_SRC_DIR}/inner_pre.h + ${EVPP_SRC_DIR}/invoke_timer.cc + ${EVPP_SRC_DIR}/invoke_timer.h + ${EVPP_SRC_DIR}/libevent.cc + ${EVPP_SRC_DIR}/libevent.h + ${EVPP_SRC_DIR}/listener.cc + ${EVPP_SRC_DIR}/listener.h + ${EVPP_SRC_DIR}/logging.h + ${EVPP_SRC_DIR}/memmem.h + ${EVPP_SRC_DIR}/platform_config.h + ${EVPP_SRC_DIR}/server_status.h + ${EVPP_SRC_DIR}/slice.h + ${EVPP_SRC_DIR}/sockets.cc + ${EVPP_SRC_DIR}/sockets.h + ${EVPP_SRC_DIR}/sys_addrinfo.h + ${EVPP_SRC_DIR}/sys_sockets.h + ${EVPP_SRC_DIR}/tcp_callbacks.h + ${EVPP_SRC_DIR}/tcp_client.cc + ${EVPP_SRC_DIR}/tcp_client.h + ${EVPP_SRC_DIR}/tcp_conn.cc + ${EVPP_SRC_DIR}/tcp_conn.h + ${EVPP_SRC_DIR}/tcp_server.cc + ${EVPP_SRC_DIR}/tcp_server.h + ${EVPP_SRC_DIR}/thread_dispatch_policy.h + ${EVPP_SRC_DIR}/timestamp.h + ${EVPP_SRC_DIR}/timestamp.inl.h + ${EVPP_SRC_DIR}/utility.h + ${EVPP_SRC_DIR}/windows_port.h + ) include_directories(${TERM_CORE_ROOT}) # include_directories(${PROJECT_SOURCE_DIR}/../../../../../libs/inc/) + +add_library( # Sets the name of the library. + evpp_lite + + # Sets the library as a shared library. + STATIC + + # Provides a relative path to your source file(s). + ${EVPP_SOURCES} ) + + IF (CMAKE_HOST_SYSTEM_NAME MATCHES "Windows") # set(BOOST_ROOT C:/ProgramData/boost_1_82_0/) # set(BOOST_INCLUDEDIR C:/ProgramData/boost_1_82_0/) @@ -193,6 +276,7 @@ add_library( # Sets the name of the library. ${TERM_CORE_ROOT}/SpecData_I1_JS.cpp ${TERM_CORE_ROOT}/SpecData_I1_HN.cpp ${TERM_CORE_ROOT}/SpecData_I1_HEN.cpp + ${TERM_CORE_ROOT}/SpecData_I1_HENZZ.cpp ${TERM_CORE_ROOT}/SpecData_I1_SHX.cpp ${TERM_CORE_ROOT}/SpecData_XY.cpp ${TERM_CORE_ROOT}/SpecData_ZJ.cpp @@ -202,8 +286,10 @@ add_library( # Sets the name of the library. ${TERM_CORE_ROOT}/Utils.cpp ${TERM_CORE_ROOT}/Client/Terminal.cpp ${TERM_CORE_ROOT}/Client/Terminal_HN.cpp + ${TERM_CORE_ROOT}/Client/Terminal_HEN_ZZ.cpp ${TERM_CORE_ROOT}/Client/Terminal_HEN.cpp ${TERM_CORE_ROOT}/Client/Terminal_SHX.cpp + ${TERM_CORE_ROOT}/Client/Terminal_JS.cpp ${TERM_CORE_ROOT}/Client/UpgradeReceiver.cpp ) diff --git a/app/src/main/cpp/PhoneDevice.cpp b/app/src/main/cpp/PhoneDevice.cpp index f720a63f..86f0ea36 100644 --- a/app/src/main/cpp/PhoneDevice.cpp +++ b/app/src/main/cpp/PhoneDevice.cpp @@ -211,9 +211,35 @@ bool CPhoneDevice::UpdateTime(time_t ts) bool CPhoneDevice::QuerySystemProperties(map& properties) { - char value[128] = { 0 }; + char value[PROP_VALUE_MAX] = { 0 }; __system_property_get("ro.telephony.default_network", value); + __system_property_get("ro.product.name", value); + properties[PROP_EQUIP_NAME] = value; + + __system_property_get("ro.product.model", value); + properties[PROP_MODEL] = value; + + + __system_property_get("ro.product.manufacturer", value); + properties[PROP_BS_MANU] = value; + + + properties[PROP_BS_ID] = "SHXY"; + + __system_property_get("ro.build.version.release", value); + properties[PROP_VERSION] = value; + + __system_property_get("ro.build.date.utc", value); + properties[PROP_PROD_DATE] = value; + + __system_property_get("ro.serialno", value); + properties[PROP_SN] = value; + + __system_property_get("phone.imei", value); + properties[PROP_IMEI] = value; + + return true; } diff --git a/app/src/main/cpp/camera2/ndkcamera.cpp b/app/src/main/cpp/camera2/ndkcamera.cpp index 89fbad64..cebdf602 100644 --- a/app/src/main/cpp/camera2/ndkcamera.cpp +++ b/app/src/main/cpp/camera2/ndkcamera.cpp @@ -413,8 +413,8 @@ void NdkCamera::on_image(const unsigned char* nv21, int nv21_width, int nv21_hei int h = 0; int rotate_type = 0; // TODO !!!??? - int co = camera_orientation - 90; - // co = 0; + int co = camera_orientation > 0 ? camera_orientation - 90 : camera_orientation; + // int co = 0; if (co == 0) { w = nv21_width; diff --git a/app/src/main/java/com/xinyingpower/microphoto/MicroPhotoService.java b/app/src/main/java/com/xinyingpower/microphoto/MicroPhotoService.java index 143d817f..8ab45f07 100644 --- a/app/src/main/java/com/xinyingpower/microphoto/MicroPhotoService.java +++ b/app/src/main/java/com/xinyingpower/microphoto/MicroPhotoService.java @@ -160,10 +160,11 @@ public class MicroPhotoService extends Service { String appPath = path.getAbsolutePath(); Log.i(TAG, "AppPath=" + appPath); // String ip = "180.166.218.222"; + String ip = "47.96.238.157"; // int port = 40032; - String ip = "192.168.137.102"; + // String ip = "192.168.50.50"; int port = 6891; - String cmdid = "XYDEV100230100012"; + String cmdid = "XY-ANDROIDSIM-002"; init(appPath, ip, port, cmdid); // registerHeartbeatTimer(getHeartbeatDuration()); diff --git a/gradle.properties b/gradle.properties index 34935f8e..f24d9361 100644 --- a/gradle.properties +++ b/gradle.properties @@ -18,4 +18,6 @@ android.nonTransitiveRClass=true android.useAndroidX=true android.enableJetifier=true -opencvsdk=D:/Workspace/deps/opencv-mobile-4.6.0-android \ No newline at end of file +opencvsdk=D:/Workspace/deps/opencv-mobile-4.6.0-android +asioroot=D:/Workspace/deps/asio-1.28.0 +evpproot=D:/Workspace/Github/evpp \ No newline at end of file