diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index 0a7cc9a940..0119683fbc 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -46,6 +46,7 @@
+
diff --git a/build.gradle b/build.gradle
index 7f4a78dd55..0ceead49a3 100644
--- a/build.gradle
+++ b/build.gradle
@@ -14,7 +14,7 @@ buildscript {
google()
}
dependencies {
- classpath 'com.android.tools.build:gradle:3.5.2'
+ classpath 'com.android.tools.build:gradle:3.5.3'
classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.0'
classpath "com.alibaba:arouter-register:1.0.2"
classpath 'com.hujiang.aspectjx:gradle-android-plugin-aspectjx:2.0.4'
diff --git a/modules/mogo-module-hmi/.gitignore b/modules/mogo-module-hmi/.gitignore
new file mode 100644
index 0000000000..42afabfd2a
--- /dev/null
+++ b/modules/mogo-module-hmi/.gitignore
@@ -0,0 +1 @@
+/build
\ No newline at end of file
diff --git a/modules/mogo-module-hmi/README.md b/modules/mogo-module-hmi/README.md
new file mode 100644
index 0000000000..7860ff1b5c
--- /dev/null
+++ b/modules/mogo-module-hmi/README.md
@@ -0,0 +1,4 @@
+#### 说明
+HMI是Human Machine Interface 的缩写,“人机接口”,也叫人机界面
+
+这里了承载一些视图能力
\ No newline at end of file
diff --git a/modules/mogo-module-hmi/build.gradle b/modules/mogo-module-hmi/build.gradle
new file mode 100644
index 0000000000..f81aea16c2
--- /dev/null
+++ b/modules/mogo-module-hmi/build.gradle
@@ -0,0 +1,67 @@
+plugins {
+ id 'com.android.library'
+ id 'kotlin-android'
+ id 'kotlin-android-extensions'
+ id 'kotlin-kapt'
+ id 'com.alibaba.arouter'
+}
+
+android {
+ compileSdkVersion rootProject.ext.android.compileSdkVersion
+ defaultConfig {
+ minSdkVersion rootProject.ext.android.minSdkVersion
+ targetSdkVersion rootProject.ext.android.targetSdkVersion
+ versionCode Integer.valueOf(VERSION_CODE)
+ versionName getValueFromRootProperties("${project.name.replace("-", "_").toUpperCase()}_VERSION")
+
+ testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
+ consumerProguardFiles 'consumer-rules.pro'
+
+ javaCompileOptions {
+ annotationProcessorOptions {
+ arguments = [AROUTER_MODULE_NAME: project.getName()]
+ }
+ }
+ }
+
+ buildTypes {
+ release {
+ minifyEnabled false
+ proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
+ }
+ }
+ compileOptions {
+ sourceCompatibility JavaVersion.VERSION_1_8
+ targetCompatibility JavaVersion.VERSION_1_8
+ }
+ kotlinOptions {
+ jvmTarget = '1.8'
+ }
+}
+
+dependencies {
+
+ implementation rootProject.ext.dependencies.androidxappcompat
+ implementation rootProject.ext.dependencies.androidxconstraintlayout
+ implementation rootProject.ext.dependencies.arouter
+ annotationProcessor rootProject.ext.dependencies.aroutercompiler
+
+ if (Boolean.valueOf(RELEASE)) {
+ api rootProject.ext.dependencies.mogomap
+ api rootProject.ext.dependencies.mogomapapi
+ api rootProject.ext.dependencies.mogoutils
+ api rootProject.ext.dependencies.mogocommons
+ api rootProject.ext.dependencies.mogoserviceapi
+ implementation rootProject.ext.dependencies.modulecommon
+ } else {
+ api project(":libraries:mogo-map")
+ api project(":libraries:mogo-map-api")
+ api project(":foudations:mogo-utils")
+ api project(":foudations:mogo-commons")
+ api project(':services:mogo-service-api')
+ implementation project(':modules:mogo-module-common')
+ }
+
+}
+
+apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString()
\ No newline at end of file
diff --git a/modules/mogo-module-hmi/consumer-rules.pro b/modules/mogo-module-hmi/consumer-rules.pro
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/modules/mogo-module-hmi/gradle.properties b/modules/mogo-module-hmi/gradle.properties
new file mode 100644
index 0000000000..3955a1b428
--- /dev/null
+++ b/modules/mogo-module-hmi/gradle.properties
@@ -0,0 +1,3 @@
+GROUP=com.mogo.module
+POM_ARTIFACT_ID=mogo-module-hmi
+VERSION_CODE=1
diff --git a/modules/mogo-module-hmi/proguard-rules.pro b/modules/mogo-module-hmi/proguard-rules.pro
new file mode 100644
index 0000000000..481bb43481
--- /dev/null
+++ b/modules/mogo-module-hmi/proguard-rules.pro
@@ -0,0 +1,21 @@
+# Add project specific ProGuard rules here.
+# You can control the set of applied configuration files using the
+# proguardFiles setting in build.gradle.
+#
+# For more details, see
+# http://developer.android.com/guide/developing/tools/proguard.html
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+# public *;
+#}
+
+# Uncomment this to preserve the line number information for
+# debugging stack traces.
+#-keepattributes SourceFile,LineNumberTable
+
+# If you keep the line number information, uncomment this to
+# hide the original source file name.
+#-renamesourcefileattribute SourceFile
\ No newline at end of file
diff --git a/modules/mogo-module-hmi/src/main/AndroidManifest.xml b/modules/mogo-module-hmi/src/main/AndroidManifest.xml
new file mode 100644
index 0000000000..9ce179b5b1
--- /dev/null
+++ b/modules/mogo-module-hmi/src/main/AndroidManifest.xml
@@ -0,0 +1,5 @@
+
+
+
+
\ No newline at end of file
diff --git a/modules/mogo-module-obu-mogo/build.gradle b/modules/mogo-module-obu-mogo/build.gradle
index e4bce931a0..f81aea16c2 100644
--- a/modules/mogo-module-obu-mogo/build.gradle
+++ b/modules/mogo-module-obu-mogo/build.gradle
@@ -41,10 +41,27 @@ android {
dependencies {
- implementation 'androidx.core:core-ktx:1.3.2'
- implementation 'androidx.appcompat:appcompat:1.2.0'
- implementation 'com.google.android.material:material:1.3.0'
- testImplementation 'junit:junit:4.+'
- androidTestImplementation 'androidx.test.ext:junit:1.1.2'
- androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
-}
\ No newline at end of file
+ implementation rootProject.ext.dependencies.androidxappcompat
+ implementation rootProject.ext.dependencies.androidxconstraintlayout
+ implementation rootProject.ext.dependencies.arouter
+ annotationProcessor rootProject.ext.dependencies.aroutercompiler
+
+ if (Boolean.valueOf(RELEASE)) {
+ api rootProject.ext.dependencies.mogomap
+ api rootProject.ext.dependencies.mogomapapi
+ api rootProject.ext.dependencies.mogoutils
+ api rootProject.ext.dependencies.mogocommons
+ api rootProject.ext.dependencies.mogoserviceapi
+ implementation rootProject.ext.dependencies.modulecommon
+ } else {
+ api project(":libraries:mogo-map")
+ api project(":libraries:mogo-map-api")
+ api project(":foudations:mogo-utils")
+ api project(":foudations:mogo-commons")
+ api project(':services:mogo-service-api')
+ implementation project(':modules:mogo-module-common')
+ }
+
+}
+
+apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString()
\ No newline at end of file
diff --git a/modules/mogo-module-obu-mogo/src/main/java/com/mogo/module/obu/mogo/MoGoObuProvider.java b/modules/mogo-module-obu-mogo/src/main/java/com/mogo/module/obu/mogo/MoGoObuProvider.java
new file mode 100644
index 0000000000..3d55e7d768
--- /dev/null
+++ b/modules/mogo-module-obu-mogo/src/main/java/com/mogo/module/obu/mogo/MoGoObuProvider.java
@@ -0,0 +1,18 @@
+package com.mogo.module.obu.mogo;
+
+import android.content.Context;
+
+import com.mogo.service.obu.IMoGoObuProvider;
+
+/**
+ * @author xiaoyuzhou
+ * @date 2021/8/2 5:52 下午
+ */
+public class MoGoObuProvider implements IMoGoObuProvider {
+
+ @Override
+ public void init(Context context) {
+
+ }
+
+}
diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/obu/IMoGoObuProvider.java b/services/mogo-service-api/src/main/java/com/mogo/service/obu/IMoGoObuProvider.java
new file mode 100644
index 0000000000..1973bcec9e
--- /dev/null
+++ b/services/mogo-service-api/src/main/java/com/mogo/service/obu/IMoGoObuProvider.java
@@ -0,0 +1,14 @@
+package com.mogo.service.obu;
+
+import com.alibaba.android.arouter.facade.template.IProvider;
+
+/**
+ * @author xiaoyuzhou
+ * @date 2021/8/2 5:53 下午
+ * 蘑菇OBU 功能提接口
+ */
+public interface IMoGoObuProvider extends IProvider {
+
+
+
+}
diff --git a/settings.gradle b/settings.gradle
index 30af020fd3..e3b17fd80b 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -75,3 +75,4 @@ include ':OCH:mogo-och-bus'
include ':OCH:mogo-och-noop'
include ':OCH:mogo-och'
include ':modules:mogo-module-obu-mogo'
+include ':modules:mogo-module-hmi'