From cc6023291bc94a229b53d7c2d83bf2b39bbfa9a0 Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期日, 27 三月 2022 21:27:29 +0800
Subject: [PATCH] 华尔思线上版本库

---
 HDLSDK/hdl-common/build.gradle                                                   |   12 
 .gitignore                                                                       |    8 
 HDLSDK/com.hdl.sdk/src/main/AndroidManifest.xml                                  |    7 
 HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/.DS_Store                     |    0 
 HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/.DS_Store                     |    0 
 HDLSDK_DEMO/app/libs/.DS_Store                                                   |    0 
 HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/config/HDLLinkConfig.java   |   24 +
 HDLSDK_DEMO/app/.DS_Store                                                        |    0 
 HDLSDK/hdl-socket/build.gradle                                                   |   12 
 HDLSDK/.DS_Store                                                                 |    0 
 HDLSDK/com.hdl.sdk/.gitignore                                                    |    1 
 HDLSDK/com.hdl.sdk/proguard-rules.pro                                            |  107 +++++++
 HDLSDK/config.gradle                                                             |    2 
 HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/event/EventDispatcher.java    |   28 +
 HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/SocketBoot.java               |   16 
 HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java       |   49 ++-
 HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/MainActivity.java                   |    4 
 HDLSDK/settings.gradle                                                           |    2 
 HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/HDLSdk.java                   |    2 
 HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/HDLLink.java                |   26 -
 HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java   |   20 
 HDLSDK/hdl-common/src/main/java/com/hdl/sdk/.DS_Store                            |    0 
 HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/utils/ThreadToolUtils.java    |    9 
 HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/.DS_Store                           |    0 
 HDLSDK_DEMO/.DS_Store                                                            |    0 
 HDLSDK/.idea/gradle.xml                                                          |    1 
 HDLSDK/app/build.gradle                                                          |    6 
 HDLSDK/app/src/main/java/com/hdl/.DS_Store                                       |    0 
 HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/udp/UdpSocketBoot.java        |    3 
 /dev/null                                                                        |    0 
 HDLSDK/hdl-connect/build.gradle                                                  |   15 -
 HDLSDK/com.hdl.sdk/gradlew                                                       |  172 ++++++++++++
 HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HdlSocketHelper.java |   20 
 HDLSDK_DEMO/app/libs/com.hdl.sdk-v1.0.11.aar                                     |    0 
 HDLSDK/com.hdl.sdk/build.gradle                                                  |  154 +++++++++++
 HDLSDK/hdl-common/src/.DS_Store                                                  |    0 
 HDLSDK/hdl-socket/src/.DS_Store                                                  |    0 
 HDLSDK/com.hdl.sdk/gradlew.bat                                                   |   84 ++++++
 HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/SocketPool.java               |    7 
 HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/.DS_Store                   |    0 
 HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java                        |    2 
 41 files changed, 656 insertions(+), 137 deletions(-)

diff --git a/.gitignore b/.gitignore
index 8dfcfee..ab36ff1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -53,6 +53,7 @@
 # Android Studio 3 in .gitignore file.
 .idea/caches
 .idea/modules.xml
+.idea/
 # Comment next line if keeping position of elements in Navigation Editor is relevant for you
 .idea/navEditor.xml
 
@@ -100,4 +101,9 @@
 # Replacement of .externalNativeBuild directories introduced
 # with Android Studio 3.5.
 
-# End of https://www.toptal.com/developers/gitignore/api/android
\ No newline at end of file
+# End of https://www.toptal.com/developers/gitignore/api/android
+.idea/
+HDLSDK/.idea/jarRepositories.xml
+HDLSDK/.idea/misc.xml
+HDLSDK/.idea/jarRepositories.xml
+HDLSDK/.idea/misc.xml
diff --git a/HDLSDK.zip b/HDLSDK.zip
deleted file mode 100644
index 35e1818..0000000
--- a/HDLSDK.zip
+++ /dev/null
Binary files differ
diff --git a/HDLSDK/.DS_Store b/HDLSDK/.DS_Store
new file mode 100644
index 0000000..6e9be3b
--- /dev/null
+++ b/HDLSDK/.DS_Store
Binary files differ
diff --git a/HDLSDK/.gitignore b/HDLSDK/.gitignore
deleted file mode 100644
index aa724b7..0000000
--- a/HDLSDK/.gitignore
+++ /dev/null
@@ -1,15 +0,0 @@
-*.iml
-.gradle
-/local.properties
-/.idea/caches
-/.idea/libraries
-/.idea/modules.xml
-/.idea/workspace.xml
-/.idea/navEditor.xml
-/.idea/assetWizardSettings.xml
-.DS_Store
-/build
-/captures
-.externalNativeBuild
-.cxx
-local.properties
diff --git a/HDLSDK/.idea/.gitignore b/HDLSDK/.idea/.gitignore
deleted file mode 100644
index eaf91e2..0000000
--- a/HDLSDK/.idea/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-# Default ignored files
-/shelf/
-/workspace.xml
diff --git a/HDLSDK/.idea/gradle.xml b/HDLSDK/.idea/gradle.xml
index 7e69409..4c7b1e5 100644
--- a/HDLSDK/.idea/gradle.xml
+++ b/HDLSDK/.idea/gradle.xml
@@ -11,6 +11,7 @@
           <set>
             <option value="$PROJECT_DIR$" />
             <option value="$PROJECT_DIR$/app" />
+            <option value="$PROJECT_DIR$/com.hdl.sdk" />
             <option value="$PROJECT_DIR$/hdl-common" />
             <option value="$PROJECT_DIR$/hdl-connect" />
             <option value="$PROJECT_DIR$/hdl-socket" />
diff --git a/HDLSDK/.idea/jarRepositories.xml b/HDLSDK/.idea/jarRepositories.xml
deleted file mode 100644
index fbe72e2..0000000
--- a/HDLSDK/.idea/jarRepositories.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
-  <component name="RemoteRepositoriesConfiguration">
-    <remote-repository>
-      <option name="id" value="central" />
-      <option name="name" value="Maven Central repository" />
-      <option name="url" value="https://repo1.maven.org/maven2" />
-    </remote-repository>
-    <remote-repository>
-      <option name="id" value="jboss.community" />
-      <option name="name" value="JBoss Community repository" />
-      <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
-    </remote-repository>
-    <remote-repository>
-      <option name="id" value="maven" />
-      <option name="name" value="maven" />
-      <option name="url" value="https://maven.aliyun.com/repository/central" />
-    </remote-repository>
-    <remote-repository>
-      <option name="id" value="maven2" />
-      <option name="name" value="maven2" />
-      <option name="url" value="https://maven.aliyun.com/repository/google" />
-    </remote-repository>
-    <remote-repository>
-      <option name="id" value="maven5" />
-      <option name="name" value="maven5" />
-      <option name="url" value="https://maven.aliyun.com/repository/public/" />
-    </remote-repository>
-    <remote-repository>
-      <option name="id" value="maven4" />
-      <option name="name" value="maven4" />
-      <option name="url" value="https://maven.aliyun.com/repository/gradle-plugin" />
-    </remote-repository>
-    <remote-repository>
-      <option name="id" value="maven3" />
-      <option name="name" value="maven3" />
-      <option name="url" value="https://maven.aliyun.com/repository/jcenter" />
-    </remote-repository>
-    <remote-repository>
-      <option name="id" value="maven9" />
-      <option name="name" value="maven9" />
-      <option name="url" value="https://jitpack.io" />
-    </remote-repository>
-    <remote-repository>
-      <option name="id" value="maven8" />
-      <option name="name" value="maven8" />
-      <option name="url" value="https://maven.aliyun.com/repository/public" />
-    </remote-repository>
-    <remote-repository>
-      <option name="id" value="Google" />
-      <option name="name" value="Google" />
-      <option name="url" value="https://dl.google.com/dl/android/maven2/" />
-    </remote-repository>
-  </component>
-</project>
\ No newline at end of file
diff --git a/HDLSDK/.idea/misc.xml b/HDLSDK/.idea/misc.xml
deleted file mode 100644
index 3bdd701..0000000
--- a/HDLSDK/.idea/misc.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
-  <component name="DesignSurface">
-    <option name="filePathToZoomLevelMap">
-      <map>
-        <entry key="..\:/job/me/Android/HDLSDK/app/src/main/res/layout/activity_main.xml" value="0.1" />
-        <entry key="..\:/job/me/Android/HDLSDK/app/src/main/res/layout/demo_item.xml" value="0.28958333333333336" />
-      </map>
-    </option>
-  </component>
-  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
-    <output url="file://$PROJECT_DIR$/build/classes" />
-  </component>
-  <component name="ProjectType">
-    <option name="id" value="Android" />
-  </component>
-</project>
\ No newline at end of file
diff --git a/HDLSDK/app/build.gradle b/HDLSDK/app/build.gradle
index 399b7ea..1960e0a 100644
--- a/HDLSDK/app/build.gradle
+++ b/HDLSDK/app/build.gradle
@@ -3,12 +3,12 @@
 }
 
 android {
-    compileSdk 31
+    compileSdk 28
 
     defaultConfig {
-        applicationId "com.hdl.hdlsdk1"
+        applicationId "com.hdl.hdlsdk"
         minSdk 21
-        targetSdk 31
+        targetSdk 28
         versionCode 1
         versionName "1.0"
 
diff --git a/HDLSDK/app/src/androidTest/java/com/hdl/hdlsdk/ExampleInstrumentedTest.java b/HDLSDK/app/src/androidTest/java/com/hdl/hdlsdk/ExampleInstrumentedTest.java
deleted file mode 100644
index 4f7fa58..0000000
--- a/HDLSDK/app/src/androidTest/java/com/hdl/hdlsdk/ExampleInstrumentedTest.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.hdl.hdlsdk;
-
-import android.content.Context;
-
-import androidx.test.platform.app.InstrumentationRegistry;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import static org.junit.Assert.*;
-
-/**
- * Instrumented test, which will execute on an Android device.
- *
- * @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
- */
-@RunWith(AndroidJUnit4.class)
-public class ExampleInstrumentedTest {
-    @Test
-    public void useAppContext() {
-        // Context of the app under test.
-        Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
-        assertEquals("com.hdl.hdlsdk", appContext.getPackageName());
-    }
-}
\ No newline at end of file
diff --git a/HDLSDK/app/src/main/java/com/hdl/.DS_Store b/HDLSDK/app/src/main/java/com/hdl/.DS_Store
new file mode 100644
index 0000000..ae5aaee
--- /dev/null
+++ b/HDLSDK/app/src/main/java/com/hdl/.DS_Store
Binary files differ
diff --git a/HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java b/HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java
index be2a3d5..ac61a13 100644
--- a/HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java
+++ b/HDLSDK/app/src/main/java/com/hdl/hdlsdk/MainActivity.java
@@ -35,6 +35,7 @@
 import com.hdl.sdk.connect.bean.LinkRequest;
 import com.hdl.sdk.connect.bean.LinkResponse;
 import com.hdl.sdk.connect.bean.request.AuthenticateRequest;
+import com.hdl.sdk.connect.bean.request.BroadcastRequest;
 import com.hdl.sdk.connect.bean.request.PropertyReadRequest;
 import com.hdl.sdk.connect.bean.response.BaseLocalResponse;
 import com.hdl.sdk.connect.bean.response.GatewaySearchBean;
@@ -86,6 +87,7 @@
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
+
         setContentView(R.layout.activity_main);
         responseTv = findViewById(R.id.response_tv);
         tv = findViewById(R.id.state_tv);
diff --git a/HDLSDK/app/src/test/java/com/hdl/hdlsdk/ExampleUnitTest.java b/HDLSDK/app/src/test/java/com/hdl/hdlsdk/ExampleUnitTest.java
deleted file mode 100644
index eceb1d2..0000000
--- a/HDLSDK/app/src/test/java/com/hdl/hdlsdk/ExampleUnitTest.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.hdl.hdlsdk;
-
-import org.junit.Test;
-
-import static org.junit.Assert.*;
-
-/**
- * Example local unit test, which will execute on the development machine (host).
- *
- * @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
- */
-public class ExampleUnitTest {
-    @Test
-    public void addition_isCorrect() {
-        assertEquals(4, 2 + 2);
-    }
-}
\ No newline at end of file
diff --git a/HDLSDK/com.hdl.sdk/.gitignore b/HDLSDK/com.hdl.sdk/.gitignore
new file mode 100644
index 0000000..796b96d
--- /dev/null
+++ b/HDLSDK/com.hdl.sdk/.gitignore
@@ -0,0 +1 @@
+/build
diff --git a/HDLSDK/com.hdl.sdk/build.gradle b/HDLSDK/com.hdl.sdk/build.gradle
new file mode 100644
index 0000000..f8964e7
--- /dev/null
+++ b/HDLSDK/com.hdl.sdk/build.gradle
@@ -0,0 +1,154 @@
+//鎵撳寘鐨�
+apply plugin: 'com.android.library'
+apply plugin:'com.kezong.fat-aar'
+
+android {
+    compileSdkVersion rootProject.compileSdkVersion
+
+    defaultConfig {
+        minSdkVersion rootProject.minSdkVersion
+        targetSdkVersion rootProject.targetSdkVersion
+        versionCode 2
+        versionName "1.0.13"
+    }
+    buildTypes {
+        debug {
+            minifyEnabled false
+            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
+        }
+    }
+    compileOptions {
+        sourceCompatibility 1.8
+        targetCompatibility 1.8
+    }
+}
+
+dependencies {
+
+    implementation fileTree(include: ['*.jar'], dir: 'libs')
+
+//    embed 'com.ezviz.sdk:ezviz-sdk:4.16.1'
+//    embed(name: 'hdl-common-release',ext: 'aar')
+//    embed(name: 'hdl-connect-release',ext: 'aar')
+//    embed(name: 'hdl-socket-release',ext: 'aar')
+
+    embed project(path: ':hdl-common', configuration:'default')
+    embed project(path: ':hdl-connect', configuration:'default')
+    embed project(path: ':hdl-socket', configuration:'default')
+}
+
+//鎵撳寘鐨�
+buildscript {
+
+    repositories {
+        google()
+        jcenter()
+        maven {url "https://plugins.gradle.org/m2/"}
+    }
+
+    dependencies {
+        classpath 'com.android.tools.build:gradle:3.6.3'
+        classpath 'com.kezong:fat-aar:1.2.16'
+    }
+}
+
+//allprojects {
+//    repositories {
+//        flatDir{
+//            dirs 'libs'
+//        }
+//        google()
+//        jcenter()
+//    }
+//}
+
+
+
+////杩愯鐨�
+//
+//apply plugin: 'com.android.application'
+//apply from: "../app-common/build_common.gradle"
+//apply plugin: 'kotlin-android'
+//apply plugin: 'kotlin-android-extensions'
+//
+////濡傛灉鏈夌敤鍒発apt娣诲姞濡備笅閰嶇疆
+//kapt {
+//    useBuildCache = true
+//    javacOptions {
+//        option("-Xmaxerrs", 500)
+//    }
+//}
+//
+//android {
+//
+//    compileSdkVersion 29
+//    buildToolsVersion "29.0.3"
+//
+//    sourceSets {
+//        main {
+//            jniLibs.srcDirs = ['libs']
+//        }
+//    }
+//    lintOptions {
+//        abortOnError false
+//    }
+//    defaultConfig {
+//        applicationId "com.evoyo.home1111112"
+//        minSdkVersion 21
+//        //noinspection ExpiredTargetSdkVersion
+//        targetSdkVersion 28
+//        versionCode 4160
+//        versionName "v4.16.0.20201230"
+//        ndk {
+//            abiFilters "armeabi-v7a", "arm64-v8a"
+//        }
+//        /*绂佹浣跨敤java8锛屽鏋渟dk浣跨敤浜唈ava8缂栬瘧锛屼絾鏄簲鐢ㄥ眰浣跨敤浜唈ava7缂栬瘧锛屼細瀵艰嚧搴旂敤灞傛墦鍖呮棤娉曢�氳繃*/
+//        compileOptions {
+//            sourceCompatibility JavaVersion.VERSION_1_7
+//            targetCompatibility JavaVersion.VERSION_1_7
+//        }
+//    }
+//    //鍦ˋndroid浠g爜鍧椾腑娣诲姞濡備笅閰嶇疆锛氾紙鍙紭鍖栨渶涓婂浘涓璽ransformClassDexBuilderForDebug鐨勬椂闂达級
+//    dexOptions {
+//        preDexLibraries true
+//        maxProcessCount 8
+//    }
+//    buildTypes {
+//        debug {
+//            minifyEnabled false
+//            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
+//        }
+//    }
+//    productFlavors {
+//    }
+//}
+//
+//
+//dependencies {
+//    /*钀ょ煶SDK鏍稿績妯″潡锛屽繀椤�*/
+////  api project(path: ':ezviz-sdk')
+//    api 'com.ezviz.sdk:ezviz-sdk:4.16.1'
+//
+//    /*瑙嗛閫氳瘽妯″潡锛屾寜闇�浣跨敤*/
+////    api project(path: ':videotalk')
+//    api 'com.ezviz.sdk:videotalk:1.2.0'
+//
+//    /*瑙嗛閫氳瘽妯″潡锛屾寜闇�浣跨敤*/
+////    api project(path: ':streamctrl')
+//    api 'com.ezviz.sdk:streamctrl:1.2.0'
+//
+//    /*钀ょ煶鏍稿績妯″潡鐨勪笁鏂逛緷璧�*/
+////    implementation 'javax.jmdns:jmdns:3.4.1'
+//    implementation 'com.google.code.gson:gson:2.8.0'
+//    api 'com.squareup.okhttp3:okhttp:3.12.1'
+//
+//    /*demo鐨勪緷璧栭」*/
+//    api project(path: ':app-common')
+//    implementation fileTree(include: ['*.jar'], dir: 'libs')
+//    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
+//}
+//
+////repositories {
+////    maven { url 'https://dl.bintray.com/open-ezviz/mobile-sdk'}
+////}
+
diff --git a/HDLSDK/com.hdl.sdk/gradlew b/HDLSDK/com.hdl.sdk/gradlew
new file mode 100644
index 0000000..cccdd3d
--- /dev/null
+++ b/HDLSDK/com.hdl.sdk/gradlew
@@ -0,0 +1,172 @@
+#!/usr/bin/env sh
+
+##############################################################################
+##
+##  Gradle start up script for UN*X
+##
+##############################################################################
+
+# Attempt to set APP_HOME
+# Resolve links: $0 may be a link
+PRG="$0"
+# Need this for relative symlinks.
+while [ -h "$PRG" ] ; do
+    ls=`ls -ld "$PRG"`
+    link=`expr "$ls" : '.*-> \(.*\)$'`
+    if expr "$link" : '/.*' > /dev/null; then
+        PRG="$link"
+    else
+        PRG=`dirname "$PRG"`"/$link"
+    fi
+done
+SAVED="`pwd`"
+cd "`dirname \"$PRG\"`/" >/dev/null
+APP_HOME="`pwd -P`"
+cd "$SAVED" >/dev/null
+
+APP_NAME="Gradle"
+APP_BASE_NAME=`basename "$0"`
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS=""
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD="maximum"
+
+warn () {
+    echo "$*"
+}
+
+die () {
+    echo
+    echo "$*"
+    echo
+    exit 1
+}
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+nonstop=false
+case "`uname`" in
+  CYGWIN* )
+    cygwin=true
+    ;;
+  Darwin* )
+    darwin=true
+    ;;
+  MINGW* )
+    msys=true
+    ;;
+  NONSTOP* )
+    nonstop=true
+    ;;
+esac
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ] ; then
+    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+        # IBM's JDK on AIX uses strange locations for the executables
+        JAVACMD="$JAVA_HOME/jre/sh/java"
+    else
+        JAVACMD="$JAVA_HOME/bin/java"
+    fi
+    if [ ! -x "$JAVACMD" ] ; then
+        die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+    fi
+else
+    JAVACMD="java"
+    which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+fi
+
+# Increase the maximum file descriptors if we can.
+if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
+    MAX_FD_LIMIT=`ulimit -H -n`
+    if [ $? -eq 0 ] ; then
+        if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
+            MAX_FD="$MAX_FD_LIMIT"
+        fi
+        ulimit -n $MAX_FD
+        if [ $? -ne 0 ] ; then
+            warn "Could not set maximum file descriptor limit: $MAX_FD"
+        fi
+    else
+        warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
+    fi
+fi
+
+# For Darwin, add options to specify how the application appears in the dock
+if $darwin; then
+    GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
+fi
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin ; then
+    APP_HOME=`cygpath --path --mixed "$APP_HOME"`
+    CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
+    JAVACMD=`cygpath --unix "$JAVACMD"`
+
+    # We build the pattern for arguments to be converted via cygpath
+    ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
+    SEP=""
+    for dir in $ROOTDIRSRAW ; do
+        ROOTDIRS="$ROOTDIRS$SEP$dir"
+        SEP="|"
+    done
+    OURCYGPATTERN="(^($ROOTDIRS))"
+    # Add a user-defined pattern to the cygpath arguments
+    if [ "$GRADLE_CYGPATTERN" != "" ] ; then
+        OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
+    fi
+    # Now convert the arguments - kludge to limit ourselves to /bin/sh
+    i=0
+    for arg in "$@" ; do
+        CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
+        CHECK2=`echo "$arg"|egrep -c "^-"`                                 ### Determine if an option
+
+        if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then                    ### Added a condition
+            eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
+        else
+            eval `echo args$i`="\"$arg\""
+        fi
+        i=$((i+1))
+    done
+    case $i in
+        (0) set -- ;;
+        (1) set -- "$args0" ;;
+        (2) set -- "$args0" "$args1" ;;
+        (3) set -- "$args0" "$args1" "$args2" ;;
+        (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
+        (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
+        (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
+        (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
+        (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
+        (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
+    esac
+fi
+
+# Escape application args
+save () {
+    for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
+    echo " "
+}
+APP_ARGS=$(save "$@")
+
+# Collect all arguments for the java command, following the shell quoting and substitution rules
+eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
+
+# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
+if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
+  cd "$(dirname "$0")"
+fi
+
+exec "$JAVACMD" "$@"
diff --git a/HDLSDK/com.hdl.sdk/gradlew.bat b/HDLSDK/com.hdl.sdk/gradlew.bat
new file mode 100644
index 0000000..f955316
--- /dev/null
+++ b/HDLSDK/com.hdl.sdk/gradlew.bat
@@ -0,0 +1,84 @@
+@if "%DEBUG%" == "" @echo off
+@rem ##########################################################################
+@rem
+@rem  Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+set DIRNAME=%~dp0
+if "%DIRNAME%" == "" set DIRNAME=.
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS=
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if "%ERRORLEVEL%" == "0" goto init
+
+echo.
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto init
+
+echo.
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:init
+@rem Get command-line arguments, handling Windows variants
+
+if not "%OS%" == "Windows_NT" goto win9xME_args
+
+:win9xME_args
+@rem Slurp the command line arguments.
+set CMD_LINE_ARGS=
+set _SKIP=2
+
+:win9xME_args_slurp
+if "x%~1" == "x" goto execute
+
+set CMD_LINE_ARGS=%*
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
+
+:end
+@rem End local scope for the variables with windows NT shell
+if "%ERRORLEVEL%"=="0" goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+if  not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
+exit /b 1
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega
diff --git a/HDLSDK/com.hdl.sdk/proguard-rules.pro b/HDLSDK/com.hdl.sdk/proguard-rules.pro
new file mode 100644
index 0000000..112f107
--- /dev/null
+++ b/HDLSDK/com.hdl.sdk/proguard-rules.pro
@@ -0,0 +1,107 @@
+#*******************************************************************#
+#**********         浠ヤ笅鏄痙emo涓嶈兘娣锋穯鐨勫唴瀹�            *********#
+#*******************************************************************#
+
+-keep public class * extends android.app.Activity
+-keep public class * extends android.app.Application
+-keep public class * extends android.app.Service
+-keep public class * extends android.content.BroadcastReceiver
+-keep public class * extends android.content.ContentProvider
+-keep class * implements android.os.Parcelable
+
+-dontwarn com.google.zxing.**
+-keep class com.google.zxing.** { *;}
+
+-keep public class com.alibaba.android.arouter.routes.**{*;}
+-keep public class com.alibaba.android.arouter.facade.**{*;}
+-keep class * implements com.alibaba.android.arouter.facade.template.ISyringe{*;}
+# If you use the byType method to obtain Service, add the following rules to protect the interface:
+-keep interface * implements com.alibaba.android.arouter.facade.template.IProvider
+# If single-type injection is used, that is, no interface is defined to implement IProvider, the following rules need to be added to protect the implementation
+# -keep class * implements com.alibaba.android.arouter.facade.template.IProvider
+
+#*******************************************************************#
+#**********         浠ヤ笂鏄痙emo涓嶈兘娣锋穯鐨勫唴瀹�            *********#
+#*******************************************************************#
+
+#*******************************************************************#
+#**********         浠ヤ笅鏄疭DK涓嶈兘娣锋穯鐨勫唴瀹�            *********#
+#*******************************************************************#
+
+#========SDK瀵瑰鎺ュ彛=======#
+-keep class com.ezviz.opensdk.** { *;}
+
+#========浠ヤ笅鏄痟ik浜屾柟搴�=======#
+-dontwarn com.ezviz.**
+-keep class com.ezviz.** { *;}
+
+-dontwarn com.ez.**
+-keep class com.ez.** { *;}
+
+-dontwarn com.hc.CASClient.**
+-keep class com.hc.CASClient.** { *;}
+
+-dontwarn com.videogo.**
+-keep class com.videogo.** { *;}
+
+-dontwarn com.hik.TTSClient.**
+-keep class com.hik.TTSClient.** { *;}
+
+-dontwarn com.hik.stunclient.**
+-keep class com.hik.stunclient.** { *;}
+
+-dontwarn com.hik.streamclient.**
+-keep class com.hik.streamclient.** { *;}
+
+-dontwarn com.hikvision.sadp.**
+-keep class com.hikvision.sadp.** { *;}
+
+-dontwarn com.hikvision.netsdk.**
+-keep class com.hikvision.netsdk.** { *;}
+
+-dontwarn com.neutral.netsdk.**
+-keep class com.neutral.netsdk.** { *;}
+
+-dontwarn com.hikvision.audio.**
+-keep class com.hikvision.audio.** { *;}
+
+-dontwarn com.mediaplayer.audio.**
+-keep class com.mediaplayer.audio.** { *;}
+
+-dontwarn com.hikvision.wifi.**
+-keep class com.hikvision.wifi.** { *;}
+
+-dontwarn com.hikvision.keyprotect.**
+-keep class com.hikvision.keyprotect.** { *;}
+
+-dontwarn com.hikvision.audio.**
+-keep class com.hikvision.audio.** { *;}
+
+-dontwarn org.MediaPlayer.PlayM4.**
+-keep class org.MediaPlayer.PlayM4.** { *;}
+#========浠ヤ笂鏄痟ik浜屾柟搴�=======#
+
+#========浠ヤ笅鏄涓夋柟寮�婧愬簱=======#
+# JNA
+-dontwarn com.sun.jna.**
+-keep class com.sun.jna.** { *;}
+
+# Gson
+-keepattributes *Annotation*
+-keep class sun.misc.Unsafe { *; }
+-keep class com.idea.fifaalarmclock.entity.***
+-keep class com.google.gson.stream.** { *; }
+
+# OkHttp
+# JSR 305 annotations are for embedding nullability information.
+-dontwarn javax.annotation.**
+# A resource is loaded with a relative path so the package of this class must be preserved.
+-keepnames class okhttp3.internal.publicsuffix.PublicSuffixDatabase
+# Animal Sniffer compileOnly dependency to ensure APIs are compatible with older versions of Java.
+-dontwarn org.codehaus.mojo.animal_sniffer.*
+# OkHttp platform used only on JVM and when Conscrypt dependency is available.
+-dontwarn okhttp3.internal.platform.ConscryptPlatform
+# 蹇呴』棰濆鍔犵殑锛屽惁鍒欑紪璇戞棤娉曢�氳繃
+-dontwarn okio.**
+#========浠ヤ笂鏄涓夋柟寮�婧愬簱=======#
+
diff --git a/HDLSDK/com.hdl.sdk/src/main/AndroidManifest.xml b/HDLSDK/com.hdl.sdk/src/main/AndroidManifest.xml
new file mode 100755
index 0000000..d1923e3
--- /dev/null
+++ b/HDLSDK/com.hdl.sdk/src/main/AndroidManifest.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    package="com.hdl.sdk">
+    <application/>
+
+</manifest>
\ No newline at end of file
diff --git a/HDLSDK/config.gradle b/HDLSDK/config.gradle
index 582d32b..51a8ae6 100644
--- a/HDLSDK/config.gradle
+++ b/HDLSDK/config.gradle
@@ -2,6 +2,4 @@
     minSdkVersion = 16
     targetSdkVersion = 31
     compileSdkVersion = 31
-    versionName = "1.0.0"
-
 }
\ No newline at end of file
diff --git a/HDLSDK/hdl-common/build.gradle b/HDLSDK/hdl-common/build.gradle
index 183501e..e589058 100644
--- a/HDLSDK/hdl-common/build.gradle
+++ b/HDLSDK/hdl-common/build.gradle
@@ -10,7 +10,7 @@
         targetSdkVersion rootProject.targetSdkVersion
         versionCode 2
 
-        versionName "1.0.10"
+        versionName "1.0.13"
         testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
         consumerProguardFiles "consumer-rules.pro"
     }
@@ -25,20 +25,10 @@
         sourceCompatibility JavaVersion.VERSION_1_8
         targetCompatibility JavaVersion.VERSION_1_8
     }
-
-    /**
-     * 鎵撳寘鑷姩鍛藉悕
-     */
-    android.libraryVariants.all { variant ->
-        variant.outputs.all {
-            outputFileName = "hdl-common-V" + defaultConfig.versionName  + ".aar"
-        }
-    }
 }
 
 dependencies {
     api 'com.google.code.gson:gson:2.8.8'
     api 'androidx.annotation:annotation:1.2.0'
     api 'androidx.collection:collection:1.1.0'
-//    api project(path: ':hdl-connect')
 }
\ No newline at end of file
diff --git a/HDLSDK/hdl-common/src/.DS_Store b/HDLSDK/hdl-common/src/.DS_Store
new file mode 100644
index 0000000..0787fb7
--- /dev/null
+++ b/HDLSDK/hdl-common/src/.DS_Store
Binary files differ
diff --git a/HDLSDK/hdl-common/src/androidTest/java/com/hdl/sdk/common/ExampleInstrumentedTest.java b/HDLSDK/hdl-common/src/androidTest/java/com/hdl/sdk/common/ExampleInstrumentedTest.java
deleted file mode 100644
index 46d814a..0000000
--- a/HDLSDK/hdl-common/src/androidTest/java/com/hdl/sdk/common/ExampleInstrumentedTest.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.hdl.sdk.common;
-
-import android.content.Context;
-
-import androidx.test.platform.app.InstrumentationRegistry;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import static org.junit.Assert.*;
-
-/**
- * Instrumented test, which will execute on an Android device.
- *
- * @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
- */
-@RunWith(AndroidJUnit4.class)
-public class ExampleInstrumentedTest {
-    @Test
-    public void useAppContext() {
-        // Context of the app under test.
-        Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
-        assertEquals("com.hdl.sdk.common.test", appContext.getPackageName());
-    }
-}
\ No newline at end of file
diff --git a/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/.DS_Store b/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/.DS_Store
new file mode 100644
index 0000000..45f4ec0
--- /dev/null
+++ b/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/.DS_Store
Binary files differ
diff --git a/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/.DS_Store b/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/.DS_Store
new file mode 100644
index 0000000..e90f688
--- /dev/null
+++ b/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/.DS_Store
Binary files differ
diff --git a/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/HDLSdk.java b/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/HDLSdk.java
index f9d5328..c9ef3ae 100644
--- a/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/HDLSdk.java
+++ b/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/HDLSdk.java
@@ -19,7 +19,7 @@
         return version;
     }
 
-    private String version="1.0.8";
+    private String version="1.0.13";
 
     private HDLSdk() {
     }
diff --git a/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/event/EventDispatcher.java b/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/event/EventDispatcher.java
index 9316f07..172ed9b 100644
--- a/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/event/EventDispatcher.java
+++ b/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/event/EventDispatcher.java
@@ -4,6 +4,7 @@
 import androidx.collection.ArrayMap;
 
 
+import com.hdl.sdk.common.utils.LogUtils;
 import com.hdl.sdk.common.utils.ThreadToolUtils;
 
 import java.util.ArrayList;
@@ -32,12 +33,12 @@
     private EventDispatcher() {
     }
 
-    private static class SingletonInstance {
-        private static final EventDispatcher INSTANCE = new EventDispatcher();
-    }
+//    private static class SingletonInstance {
+        private static final EventDispatcher instance = new EventDispatcher();
+//    }
 
     public static EventDispatcher getInstance() {
-        return SingletonInstance.INSTANCE;
+        return instance;
     }
 
     public synchronized void register(Object tag, EventListener listener) {
@@ -77,12 +78,13 @@
                             EVENT.remove(tag);
                         }
                     } catch (Exception ignored) {
-
+                        LogUtils.e("绉婚櫎event寮傚父1锛�"+ignored.getMessage());
                     }
-
                 }
             });
-        }catch (Exception e){}
+        }catch (Exception e){
+            LogUtils.e("绉婚櫎event寮傚父2锛�"+e.getMessage());
+        }
     }
 
     public synchronized void remove(Object tag, EventListener listener) {
@@ -99,12 +101,14 @@
                             }
                         }
                     } catch (Exception ignored) {
-
+                        LogUtils.e("绉婚櫎event寮傚父1锛�"+ignored.getMessage());
                     }
 
                 }
             });
-        }catch (Exception e){}
+        }catch (Exception e){
+            LogUtils.e("绉婚櫎event寮傚父2锛�"+e.getMessage());
+        }
     }
 
 
@@ -165,12 +169,14 @@
                             ALL_TOPICS_EVENT.remove(listener);
                         }
                     } catch (Exception ignored) {
-
+                        LogUtils.e("绉婚櫎event寮傚父1锛�" + ignored.getMessage());
                     }
 
                 }
             });
-        }catch (Exception e){}
+        } catch (Exception e) {
+            LogUtils.e("绉婚櫎event寮傚父2锛�" + e.getMessage());
+        }
     }
 
     public synchronized void clear() {
diff --git a/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/utils/ThreadToolUtils.java b/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/utils/ThreadToolUtils.java
index d42da84..5e7cead 100644
--- a/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/utils/ThreadToolUtils.java
+++ b/HDLSDK/hdl-common/src/main/java/com/hdl/sdk/common/utils/ThreadToolUtils.java
@@ -20,12 +20,13 @@
     private ThreadToolUtils() {
     }
 
-    private static class SingletonInstance {
-        private static final ThreadToolUtils INSTANCE = new ThreadToolUtils();
-    }
+//    private static class SingletonInstance {
+//    }
+
+    private static final ThreadToolUtils instance = new ThreadToolUtils();
 
     public static ThreadToolUtils getInstance() {
-        return SingletonInstance.INSTANCE;
+        return instance;
     }
 
 
diff --git a/HDLSDK/hdl-common/src/test/java/com/hdl/sdk/common/ExampleUnitTest.java b/HDLSDK/hdl-common/src/test/java/com/hdl/sdk/common/ExampleUnitTest.java
deleted file mode 100644
index 6e8323f..0000000
--- a/HDLSDK/hdl-common/src/test/java/com/hdl/sdk/common/ExampleUnitTest.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.hdl.sdk.common;
-
-import org.junit.Test;
-
-import static org.junit.Assert.*;
-
-/**
- * Example local unit test, which will execute on the development machine (host).
- *
- * @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
- */
-public class ExampleUnitTest {
-    @Test
-    public void addition_isCorrect() {
-        assertEquals(4, 2 + 2);
-    }
-}
\ No newline at end of file
diff --git a/HDLSDK/hdl-connect/build.gradle b/HDLSDK/hdl-connect/build.gradle
index 26df94c..181dab8 100644
--- a/HDLSDK/hdl-connect/build.gradle
+++ b/HDLSDK/hdl-connect/build.gradle
@@ -9,7 +9,7 @@
         minSdkVersion rootProject.minSdkVersion
         targetSdkVersion rootProject.targetSdkVersion
         versionCode 2
-        versionName "1.0.10"
+        versionName "1.0.13"
 
         testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
         consumerProguardFiles "consumer-rules.pro"
@@ -25,23 +25,10 @@
         sourceCompatibility JavaVersion.VERSION_1_8
         targetCompatibility JavaVersion.VERSION_1_8
     }
-
-    /**
-     * 鎵撳寘鑷姩鍛藉悕
-     */
-    android.libraryVariants.all { variant ->
-        variant.outputs.all {
-            outputFileName = "hdl-connect-V" + defaultConfig.versionName  + ".aar"
-        }
-    }
 }
 
 dependencies {
     api project(path: ':hdl-socket')
     implementation 'androidx.appcompat:appcompat:1.2.0'
     implementation 'com.google.android.material:material:1.3.0'
-
-//    //鍔犲瘑
-//    implementation 'cn.hutool:hutool-all:5.6.5'
-//    implementation 'org.bouncycastle:bcprov-jdk15on:1.60'
 }
diff --git a/HDLSDK/hdl-connect/src/androidTest/java/com/hdl/sdk/connect/ExampleInstrumentedTest.java b/HDLSDK/hdl-connect/src/androidTest/java/com/hdl/sdk/connect/ExampleInstrumentedTest.java
deleted file mode 100644
index 32322d2..0000000
--- a/HDLSDK/hdl-connect/src/androidTest/java/com/hdl/sdk/connect/ExampleInstrumentedTest.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.hdl.sdk.connect;
-
-import android.content.Context;
-
-import androidx.test.platform.app.InstrumentationRegistry;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import static org.junit.Assert.*;
-
-/**
- * Instrumented test, which will execute on an Android device.
- *
- * @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
- */
-@RunWith(AndroidJUnit4.class)
-public class ExampleInstrumentedTest {
-    @Test
-    public void useAppContext() {
-        // Context of the app under test.
-        Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
-        assertEquals("com.hdl.sdk.connect.test", appContext.getPackageName());
-    }
-}
\ No newline at end of file
diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/.DS_Store b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/.DS_Store
new file mode 100644
index 0000000..9f83336
--- /dev/null
+++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/.DS_Store
Binary files differ
diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/.DS_Store b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/.DS_Store
new file mode 100644
index 0000000..4697092
--- /dev/null
+++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/.DS_Store
Binary files differ
diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/HDLLink.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/HDLLink.java
index 4d344c5..d26a345 100644
--- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/HDLLink.java
+++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/HDLLink.java
@@ -23,26 +23,20 @@
     /**
      * instance
      */
-    private volatile static HDLLink instance;
+    private  static final HDLLink instance=new HDLLink();
     /**
      * getInstance
      *
      * @return HDLLink
      */
-    public static synchronized HDLLink getInstance() {
-        if (instance == null) {
-            synchronized (HDLLink.class) {
-                if (instance == null) {
-                    instance = new HDLLink();
-//                    ThreadToolUtils.getInstance().newScheduledThreadPool(1).scheduleWithFixedDelay(new Runnable() {
-//                        @Override
-//                        public void run() {
-////瀹氭湡鎼滅储缃戝叧锛屽悗闈㈢湅鏈夊繀瑕佸啀鍋�
-//                        }
-//                    },0,10, TimeUnit.SECONDS);
-                }
-            }
-        }
+    public static  HDLLink getInstance() {
+//        if (instance == null) {
+//            synchronized (HDLLink.class) {
+//                if (instance == null) {
+//                    instance = new HDLLink();
+//                }
+//            }
+//        }
         return instance;
     }
 
@@ -215,6 +209,7 @@
      * @param callBack 鍥炶皟
      */
     public void tcpSendMsg(String topic, String bodyStr, HDLLinkCallBack callBack) {
+        HDLAuthSocket.getInstance();//閫氳繃杩欎釜鍙互鍏堝垵濮嬪寲UDP鐩戝惉浜嬩欢
         HDLSocket.getInstance().tcpSendMsg(topic, bodyStr, callBack);
     }
 
@@ -245,6 +240,7 @@
      * @param bodyStr  鍥炲鐨勪富棰�
      */
     public void tcpSendMsg(String topic, String bodyStr) {
+        HDLAuthSocket.getInstance();//閫氳繃杩欎釜鍙互鍏堝垵濮嬪寲UDP鐩戝惉浜嬩欢
         HDLSocket.getInstance().tcpSendMsg(topic, bodyStr);
     }
 }
diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/config/HDLLinkConfig.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/config/HDLLinkConfig.java
index a21c26c..bfe3d60 100644
--- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/config/HDLLinkConfig.java
+++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/config/HDLLinkConfig.java
@@ -30,22 +30,26 @@
     /**
      * instance
      */
-    private volatile static HDLLinkConfig instance;
+    private  static final HDLLinkConfig instance=new HDLLinkConfig();
+    private HDLLinkConfig()
+    {
+        loadConfig();
+    }
 
     /**
      * getInstance
      *
      * @return AuthenticateConfig
      */
-    public static synchronized HDLLinkConfig getInstance() {
-        if (instance == null) {
-            synchronized (HDLLinkConfig.class) {
-                if (instance == null) {
-                    instance = new HDLLinkConfig();
-                    instance.loadConfig();
-                }
-            }
-        }
+    public static  HDLLinkConfig getInstance() {
+//        if (instance == null) {
+//            synchronized (HDLLinkConfig.class) {
+//                if (instance == null) {
+//                    instance = new HDLLinkConfig();
+//                    instance.loadConfig();
+//                }
+//            }
+//        }
         return instance;
     }
 
diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java
index 91b96ae..168fb90 100644
--- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java
+++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java
@@ -68,7 +68,7 @@
     /**
      * instance
      */
-    private volatile static HDLAuthSocket instance;
+    private  static final HDLAuthSocket instance=new HDLAuthSocket();
 
     private HDLAuthSocket() {
         initListenerGatewayEvent();
@@ -84,14 +84,14 @@
      *
      * @return HDLAuthSocket
      */
-    public static synchronized HDLAuthSocket getInstance() {
-        if (instance == null) {
-            synchronized (HDLLinkConfig.class) {
-                if (instance == null) {
-                    instance = new HDLAuthSocket();
-                }
-            }
-        }
+    public  static HDLAuthSocket getInstance() {
+//        if (instance == null) {
+//            synchronized (HDLAuthSocket.class) {
+//        if (instance == null) {
+//            instance = new HDLAuthSocket();
+//        }
+//            }
+//        }
         return instance;
     }
 
@@ -110,7 +110,7 @@
      *
      * @return 杩斿洖褰撳墠瀵硅薄
      */
-    private UdpSocketBoot getUdpBoot() {
+    private synchronized UdpSocketBoot getUdpBoot() {
         try {
             if (udpSocketBoot == null) {
                 udpSocketBoot = UdpClient.init(UDP_PORT, getUdpOptions());
diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java
index 57a322f..9eb486c 100644
--- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java
+++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java
@@ -78,33 +78,44 @@
      * 骞挎挱鑷韩淇℃伅缁欎富缃戝叧
      */
     private void broadcastRequest() {
-        String time = String.valueOf(System.currentTimeMillis());
-        if (null == HDLLinkConfig.getInstance().getDeviceInfoBean()) {
-            LogUtils.i("DeviceInfoBean涓虹┖锛岃璁剧疆褰撳墠瀵硅薄");
-            return;
-        }
-        BroadcastRequest request = new BroadcastRequest(IdUtils.getUUId(), time, HDLLinkConfig.getInstance().getDeviceInfoBean(), "200");
-        HDLAuthSocket.getInstance().udpSendMsg(TopicConstant.BROADCAST, GsonConvert.getGson().toJson(request),true);
-        HDLAuthSocket.getInstance().udpSendMsg(TopicConstant.BROADCAST, GsonConvert.getGson().toJson(request), true, new HDLLinkResponseCallBack() {
+        new Thread(new Runnable() {
             @Override
-            public void onSuccess(LinkResponse msg) {
-                LogUtils.i("骞挎挱淇℃伅缁欎富缃戝叧鎴愬姛锛�");
-            }
+            public void run() {
+                try {
+                    LogUtils.i("骞挎挱璁惧鏈韩淇℃伅");
 
-            @Override
-            public void onError(HDLLinkException e) {
+                    String time = String.valueOf(System.currentTimeMillis());
+                    if (null == HDLLinkConfig.getInstance().getDeviceInfoBean()) {
+                        LogUtils.i("DeviceInfoBean涓虹┖锛岃璁剧疆褰撳墠瀵硅薄");
+                        return;
+                    }
+                    BroadcastRequest request = new BroadcastRequest(IdUtils.getUUId(), time, HDLLinkConfig.getInstance().getDeviceInfoBean(), "200");
+                    HDLAuthSocket.getInstance().udpSendMsg(TopicConstant.BROADCAST, GsonConvert.getGson().toJson(request), true, new HDLLinkResponseCallBack() {
+                        @Override
+                        public void onSuccess(LinkResponse msg) {
+                            LogUtils.i("骞挎挱淇℃伅缁欎富缃戝叧鎴愬姛锛�");
+                        }
 
+                        @Override
+                        public void onError(HDLLinkException e) {
+                            LogUtils.i("骞挎挱淇℃伅缁欎富缃戝叧澶辫触锛�");
+                        }
+                    });
+                    HDLAuthSocket.getInstance().udpSendMsg(TopicConstant.BROADCAST, GsonConvert.getGson().toJson(request), true);
+                    HDLAuthSocket.getInstance().udpSendMsg(TopicConstant.BROADCAST, GsonConvert.getGson().toJson(request), true);
+                } catch (Exception e) {
+                    LogUtils.e("骞挎挱璁惧鏈韩淇℃伅澶辫触锛屽け璐ヤ俊鎭細" + e.getMessage());
+                }
             }
-        });
-        HDLAuthSocket.getInstance().udpSendMsg(TopicConstant.BROADCAST, GsonConvert.getGson().toJson(request),true);
+        }).start();
     }
 
-    private static class SingletonInstance {
-        private static final HDLSocket INSTANCE = new HDLSocket();
-    }
+//    private static class SingletonInstance {
+//    }
+    private static final HDLSocket instance = new HDLSocket();
 
     public static HDLSocket getInstance() {
-        return SingletonInstance.INSTANCE;
+        return instance;
     }
 
     SocketOptions options;
diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HdlSocketHelper.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HdlSocketHelper.java
index 7776163..abac95d 100644
--- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HdlSocketHelper.java
+++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HdlSocketHelper.java
@@ -173,7 +173,7 @@
                             }
                         }
                     } catch (Exception e) {
-                        e.printStackTrace();
+                        LogUtils.e("鍙戦�佹暟鎹け璐�:" + e.getMessage());
                     }
                 } else {
                     //瓒呭嚭閲嶅彂娆℃暟骞舵病鏈夋敹鍒板洖澶�
@@ -206,13 +206,17 @@
     private void notifyFailure() {
         //绉婚櫎鐩戝惉
         removeListener();
-        if (sendThread != null) {
-            sendThread.shutdownNow();
-            sendThread = null;
-        }
-        if (listener != null) {
-            listener.onFailure();
-            listener = null;
+        try {
+            if (sendThread != null) {
+                sendThread.shutdownNow();
+                sendThread = null;
+            }
+            if (listener != null) {
+                listener.onFailure();
+                listener = null;
+            }
+        } catch (Exception e) {
+
         }
     }
 }
diff --git a/HDLSDK/hdl-connect/src/test/java/com/hdl/sdk/connect/ExampleUnitTest.java b/HDLSDK/hdl-connect/src/test/java/com/hdl/sdk/connect/ExampleUnitTest.java
deleted file mode 100644
index 652b170..0000000
--- a/HDLSDK/hdl-connect/src/test/java/com/hdl/sdk/connect/ExampleUnitTest.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.hdl.sdk.connect;
-
-import org.junit.Test;
-
-import static org.junit.Assert.*;
-
-/**
- * Example local unit test, which will execute on the development machine (host).
- *
- * @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
- */
-public class ExampleUnitTest {
-    @Test
-    public void addition_isCorrect() {
-        assertEquals(4, 2 + 2);
-    }
-}
\ No newline at end of file
diff --git a/HDLSDK/hdl-socket/build.gradle b/HDLSDK/hdl-socket/build.gradle
index 9ba1ed3..1949c79 100644
--- a/HDLSDK/hdl-socket/build.gradle
+++ b/HDLSDK/hdl-socket/build.gradle
@@ -9,7 +9,7 @@
         minSdkVersion rootProject.minSdkVersion
         targetSdkVersion rootProject.targetSdkVersion
         versionCode 2
-        versionName "1.0.10"
+        versionName "1.0.13"
 
         testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
         consumerProguardFiles "consumer-rules.pro"
@@ -25,17 +25,9 @@
         sourceCompatibility JavaVersion.VERSION_1_8
         targetCompatibility JavaVersion.VERSION_1_8
     }
-    /**
-     * 鎵撳寘鑷姩鍛藉悕
-     */
-    android.libraryVariants.all { variant ->
-        variant.outputs.all {
-            outputFileName = "hdl-socket-V" + defaultConfig.versionName  + ".aar"
-        }
-    }
+
 }
 
 dependencies {
     api project(path: ':hdl-common')
-
 }
\ No newline at end of file
diff --git a/HDLSDK/hdl-socket/src/.DS_Store b/HDLSDK/hdl-socket/src/.DS_Store
new file mode 100644
index 0000000..bb1962f
--- /dev/null
+++ b/HDLSDK/hdl-socket/src/.DS_Store
Binary files differ
diff --git a/HDLSDK/hdl-socket/src/androidTest/java/com/hdl/sdk/socket/ExampleInstrumentedTest.java b/HDLSDK/hdl-socket/src/androidTest/java/com/hdl/sdk/socket/ExampleInstrumentedTest.java
deleted file mode 100644
index 903bb2e..0000000
--- a/HDLSDK/hdl-socket/src/androidTest/java/com/hdl/sdk/socket/ExampleInstrumentedTest.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.hdl.sdk.socket;
-
-import android.content.Context;
-
-import androidx.test.platform.app.InstrumentationRegistry;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import static org.junit.Assert.*;
-
-/**
- * Instrumented test, which will execute on an Android device.
- *
- * @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
- */
-@RunWith(AndroidJUnit4.class)
-public class ExampleInstrumentedTest {
-    @Test
-    public void useAppContext() {
-        // Context of the app under test.
-        Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
-        assertEquals("com.hdl.sdk.socket.test", appContext.getPackageName());
-    }
-}
\ No newline at end of file
diff --git a/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/.DS_Store b/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/.DS_Store
new file mode 100644
index 0000000..7062e40
--- /dev/null
+++ b/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/.DS_Store
Binary files differ
diff --git a/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/SocketBoot.java b/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/SocketBoot.java
index 5da2b6b..92f8f84 100644
--- a/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/SocketBoot.java
+++ b/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/SocketBoot.java
@@ -74,9 +74,10 @@
         try {
             LogUtils.i("TCP杩炴帴");
             client.onConnectStatus(ConnectStatus.CONNECTING);
-            Thread.sleep(700);
+            Thread.sleep(1000);
             client.connect();
             connected=true;
+            LogUtils.i("TCP杩炴帴鎴愬姛");
             client.onConnectStatus(ConnectStatus.CONNECTED);
         }catch(Exception e) {
             LogUtils.e("杩炴帴寮傚父"+e.getMessage());
@@ -175,7 +176,7 @@
                             }
                             Thread.sleep(3*1000);
                         } catch (Exception e) {
-
+                            LogUtils.e("瀹氭椂杩炴帴澶辫触:" + e.getMessage());
                         }
                     }
                 }
@@ -198,15 +199,12 @@
                             if (connected && 10 * 1000 < (System.currentTimeMillis() - time)) {
                                 time = System.currentTimeMillis();
                                 //蹇冭烦妫�娴�
-                                try {
-                                    if (iHeartbeat != null)
-                                        iHeartbeat.heartbeat();
-                                } catch (Exception e) {
-                                }
+                                if (iHeartbeat != null)
+                                    iHeartbeat.heartbeat();
                             }
                             Thread.sleep(1000);
                         } catch (Exception e) {
-
+                            LogUtils.e("瀹氭椂蹇冭烦妫�娴嬬綉鍏冲紓甯革細" + e.getMessage());
                         }
                     }
                 }
@@ -243,7 +241,7 @@
             }
             mMessageQueue.put(request);
         } catch (Exception e) {
-
+            LogUtils.e("鍙戦�佹暟鎹け璐ワ細" + e.getMessage());
         }
     }
 
diff --git a/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/SocketPool.java b/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/SocketPool.java
index 7d211f7..41e2763 100644
--- a/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/SocketPool.java
+++ b/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/SocketPool.java
@@ -21,13 +21,10 @@
         mUdpClientPool = new ConcurrentHashMap<>();
     }
 
-
-    private static class SingletonInstance {
-        private static final SocketPool INSTANCE = new SocketPool();
-    }
+    private static final SocketPool instance = new SocketPool();
 
     public static SocketPool getInstance() {
-        return SingletonInstance.INSTANCE;
+        return instance;
     }
 
     public void clear() {
diff --git a/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/udp/UdpSocketBoot.java b/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/udp/UdpSocketBoot.java
index 44bbf86..17471bb 100644
--- a/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/udp/UdpSocketBoot.java
+++ b/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/udp/UdpSocketBoot.java
@@ -114,7 +114,8 @@
             if (listener != null && !TextUtils.isEmpty(request.getAction())) {
                 sendMap.put(request.getAction(), listener);
             }
-            client.sendMsg(ipAddress,port, msg);
+            LogUtils.i("鍙戦�佺洰鏍嘔P鍜岀鍙�", ipAddress + ":" + port);
+            client.sendMsg(ipAddress, port, msg);
         } catch (Exception e) {
             LogUtils.i("鍙戦�佸け璐�:" + e.getMessage());
         }
diff --git a/HDLSDK/hdl-socket/src/test/java/com/hdl/sdk/socket/ExampleUnitTest.java b/HDLSDK/hdl-socket/src/test/java/com/hdl/sdk/socket/ExampleUnitTest.java
deleted file mode 100644
index a59034b..0000000
--- a/HDLSDK/hdl-socket/src/test/java/com/hdl/sdk/socket/ExampleUnitTest.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.hdl.sdk.socket;
-
-import org.junit.Test;
-
-import static org.junit.Assert.*;
-
-/**
- * Example local unit test, which will execute on the development machine (host).
- *
- * @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
- */
-public class ExampleUnitTest {
-    @Test
-    public void addition_isCorrect() {
-        assertEquals(4, 2 + 2);
-    }
-}
\ No newline at end of file
diff --git a/HDLSDK/settings.gradle b/HDLSDK/settings.gradle
index 5a72944..fc35c16 100644
--- a/HDLSDK/settings.gradle
+++ b/HDLSDK/settings.gradle
@@ -3,4 +3,4 @@
 include ':hdl-socket'
 include ':hdl-connect'
 include ':hdl-common'
-
+include ':com.hdl.sdk'
diff --git a/HDLSDK_DEMO.zip b/HDLSDK_DEMO.zip
deleted file mode 100644
index 41d2bc7..0000000
--- a/HDLSDK_DEMO.zip
+++ /dev/null
Binary files differ
diff --git a/HDLSDK_DEMO/.DS_Store b/HDLSDK_DEMO/.DS_Store
new file mode 100644
index 0000000..ee0ba7d
--- /dev/null
+++ b/HDLSDK_DEMO/.DS_Store
Binary files differ
diff --git a/HDLSDK_DEMO/.gitignore b/HDLSDK_DEMO/.gitignore
deleted file mode 100644
index aa724b7..0000000
--- a/HDLSDK_DEMO/.gitignore
+++ /dev/null
@@ -1,15 +0,0 @@
-*.iml
-.gradle
-/local.properties
-/.idea/caches
-/.idea/libraries
-/.idea/modules.xml
-/.idea/workspace.xml
-/.idea/navEditor.xml
-/.idea/assetWizardSettings.xml
-.DS_Store
-/build
-/captures
-.externalNativeBuild
-.cxx
-local.properties
diff --git a/HDLSDK_DEMO/app/.DS_Store b/HDLSDK_DEMO/app/.DS_Store
new file mode 100644
index 0000000..f297deb
--- /dev/null
+++ b/HDLSDK_DEMO/app/.DS_Store
Binary files differ
diff --git a/HDLSDK_DEMO/app/libs/.DS_Store b/HDLSDK_DEMO/app/libs/.DS_Store
new file mode 100644
index 0000000..5008ddf
--- /dev/null
+++ b/HDLSDK_DEMO/app/libs/.DS_Store
Binary files differ
diff --git a/HDLSDK_DEMO/app/libs/com.hdl.sdk-v1.0.11.aar b/HDLSDK_DEMO/app/libs/com.hdl.sdk-v1.0.11.aar
new file mode 100644
index 0000000..22ccd83
--- /dev/null
+++ b/HDLSDK_DEMO/app/libs/com.hdl.sdk-v1.0.11.aar
Binary files differ
diff --git a/HDLSDK_DEMO/app/libs/hdl-common-V1.0.8.aar b/HDLSDK_DEMO/app/libs/hdl-common-V1.0.8.aar
deleted file mode 100644
index 4d0c895..0000000
--- a/HDLSDK_DEMO/app/libs/hdl-common-V1.0.8.aar
+++ /dev/null
Binary files differ
diff --git a/HDLSDK_DEMO/app/libs/hdl-connect-V1.0.8.aar b/HDLSDK_DEMO/app/libs/hdl-connect-V1.0.8.aar
deleted file mode 100644
index a041595..0000000
--- a/HDLSDK_DEMO/app/libs/hdl-connect-V1.0.8.aar
+++ /dev/null
Binary files differ
diff --git a/HDLSDK_DEMO/app/libs/hdl-socket-V1.0.8.aar b/HDLSDK_DEMO/app/libs/hdl-socket-V1.0.8.aar
deleted file mode 100644
index e9d3243..0000000
--- a/HDLSDK_DEMO/app/libs/hdl-socket-V1.0.8.aar
+++ /dev/null
Binary files differ
diff --git a/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/MainActivity.java b/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/MainActivity.java
index ab7d315..39c7c97 100644
--- a/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/MainActivity.java
+++ b/HDLSDK_DEMO/app/src/main/java/com/hdl/hdlsdk/MainActivity.java
@@ -80,8 +80,8 @@
         infoBean.setDeviceName("闊充箰鎾斁鍣�");//璁惧鍚嶅瓧
         infoBean.setDeviceModel("MCLog.431");//璁惧鍨嬪彿
         infoBean.setAccessMode("WIFI");
-        infoBean.setIPGateway("192.168.1.1");
-        infoBean.setIPAddress("192.168.1.102");
+        infoBean.setIPGateway("192.168.88.1");
+        infoBean.setIPAddress("192.168.88.153");
         infoBean.setGateway_type("music.standard");
         infoBean.setHw_version("HW2.0");
         infoBean.setFw_version("Fw1.0");

--
Gitblit v1.8.0