From 3646b623c112a2f8926ccc3e2621234730d2b294 Mon Sep 17 00:00:00 2001
From: xueweihan <595666367@qq.com>
Date: Mon, 28 Apr 2025 12:29:40 +0800
Subject: [PATCH] add demo: demohouse/hgdoll
---
demohouse/hgdoll/.gitignore | 2 +
demohouse/hgdoll/LICENSE | 21 +
demohouse/hgdoll/README.md | 92 ++
demohouse/hgdoll/android/.gitignore | 29 +
demohouse/hgdoll/android/README.md | 60 +
demohouse/hgdoll/android/app/.gitignore | 1 +
demohouse/hgdoll/android/app/build.gradle.kts | 73 ++
.../hgdoll/android/app/proguard-rules.pro | 21 +
.../android/app/src/main/AndroidManifest.xml | 48 +
.../app/src/main/ic_launcher-playstore.png | Bin 0 -> 216156 bytes
.../java/com/example/android/MainActivity.kt | 341 +++++
.../com/example/android/service/AsrService.kt | 1158 +++++++++++++++++
.../android/service/ScreenshotService.kt | 460 +++++++
.../com/example/android/ui/theme/Color.kt | 11 +
.../com/example/android/ui/theme/Theme.kt | 49 +
.../java/com/example/android/ui/theme/Type.kt | 18 +
.../example/android/utils/PermissionUtils.kt | 17 +
.../res/drawable/ic_launcher_background.xml | 170 +++
.../res/drawable/ic_launcher_foreground.xml | 30 +
.../res/mipmap-anydpi-v26/ic_launcher.xml | 5 +
.../mipmap-anydpi-v26/ic_launcher_round.xml | 5 +
.../src/main/res/mipmap-hdpi/ic_launcher.webp | Bin 0 -> 4950 bytes
.../mipmap-hdpi/ic_launcher_foreground.webp | Bin 0 -> 18302 bytes
.../res/mipmap-hdpi/ic_launcher_round.webp | Bin 0 -> 6446 bytes
.../src/main/res/mipmap-mdpi/ic_launcher.webp | Bin 0 -> 3076 bytes
.../mipmap-mdpi/ic_launcher_foreground.webp | Bin 0 -> 9764 bytes
.../res/mipmap-mdpi/ic_launcher_round.webp | Bin 0 -> 3866 bytes
.../main/res/mipmap-xhdpi/ic_launcher.webp | Bin 0 -> 7478 bytes
.../mipmap-xhdpi/ic_launcher_foreground.webp | Bin 0 -> 27242 bytes
.../res/mipmap-xhdpi/ic_launcher_round.webp | Bin 0 -> 9432 bytes
.../main/res/mipmap-xxhdpi/ic_launcher.webp | Bin 0 -> 13890 bytes
.../mipmap-xxhdpi/ic_launcher_foreground.webp | Bin 0 -> 46750 bytes
.../res/mipmap-xxhdpi/ic_launcher_round.webp | Bin 0 -> 16938 bytes
.../main/res/mipmap-xxxhdpi/ic_launcher.webp | Bin 0 -> 20606 bytes
.../ic_launcher_foreground.webp | Bin 0 -> 64670 bytes
.../res/mipmap-xxxhdpi/ic_launcher_round.webp | Bin 0 -> 25196 bytes
.../app/src/main/res/values/colors.xml | 10 +
.../res/values/ic_launcher_background.xml | 4 +
.../app/src/main/res/values/strings.xml | 12 +
.../app/src/main/res/values/themes.xml | 5 +
.../app/src/main/res/xml/backup_rules.xml | 13 +
.../main/res/xml/data_extraction_rules.xml | 19 +
demohouse/hgdoll/android/build.gradle.kts | 6 +
demohouse/hgdoll/android/gradle.properties | 23 +
.../hgdoll/android/gradle/libs.versions.toml | 32 +
.../gradle/wrapper/gradle-wrapper.properties | 6 +
demohouse/hgdoll/android/gradlew | 185 +++
demohouse/hgdoll/android/gradlew.bat | 89 ++
demohouse/hgdoll/android/local.properties | 10 +
demohouse/hgdoll/android/settings.gradle.kts | 23 +
demohouse/hgdoll/android/show.png | Bin 0 -> 175592 bytes
demohouse/hgdoll/docs/README_en.md | 88 ++
demohouse/hgdoll/docs/assets/faq1.png | Bin 0 -> 74298 bytes
demohouse/hgdoll/docs/assets/faq2.png | Bin 0 -> 84059 bytes
demohouse/hgdoll/docs/assets/faq3.png | Bin 0 -> 174902 bytes
demohouse/hgdoll/docs/assets/faq4.png | Bin 0 -> 158309 bytes
demohouse/hgdoll/docs/assets/faq5.png | Bin 0 -> 212288 bytes
demohouse/hgdoll/docs/assets/faq6.png | Bin 0 -> 128154 bytes
demohouse/hgdoll/docs/assets/icon.png | Bin 0 -> 126593 bytes
demohouse/hgdoll/docs/key.md | 38 +
demohouse/hgdoll/server/.gitignore | 175 +++
demohouse/hgdoll/server/README.md | 71 +
demohouse/hgdoll/server/requestmen.txt | 117 ++
demohouse/hgdoll/server/run.sh | 3 +
demohouse/hgdoll/server/src/__init__.py | 0
demohouse/hgdoll/server/src/config.py | 7 +
demohouse/hgdoll/server/src/main.py | 271 ++++
demohouse/hgdoll/server/src/prompt.py | 258 ++++
demohouse/hgdoll/server/src/utils.py | 144 ++
69 files changed, 4220 insertions(+)
create mode 100644 demohouse/hgdoll/.gitignore
create mode 100644 demohouse/hgdoll/LICENSE
create mode 100644 demohouse/hgdoll/README.md
create mode 100644 demohouse/hgdoll/android/.gitignore
create mode 100644 demohouse/hgdoll/android/README.md
create mode 100644 demohouse/hgdoll/android/app/.gitignore
create mode 100644 demohouse/hgdoll/android/app/build.gradle.kts
create mode 100644 demohouse/hgdoll/android/app/proguard-rules.pro
create mode 100644 demohouse/hgdoll/android/app/src/main/AndroidManifest.xml
create mode 100644 demohouse/hgdoll/android/app/src/main/ic_launcher-playstore.png
create mode 100644 demohouse/hgdoll/android/app/src/main/java/com/example/android/MainActivity.kt
create mode 100644 demohouse/hgdoll/android/app/src/main/java/com/example/android/service/AsrService.kt
create mode 100644 demohouse/hgdoll/android/app/src/main/java/com/example/android/service/ScreenshotService.kt
create mode 100644 demohouse/hgdoll/android/app/src/main/java/com/example/android/ui/theme/Color.kt
create mode 100644 demohouse/hgdoll/android/app/src/main/java/com/example/android/ui/theme/Theme.kt
create mode 100644 demohouse/hgdoll/android/app/src/main/java/com/example/android/ui/theme/Type.kt
create mode 100644 demohouse/hgdoll/android/app/src/main/java/com/example/android/utils/PermissionUtils.kt
create mode 100644 demohouse/hgdoll/android/app/src/main/res/drawable/ic_launcher_background.xml
create mode 100644 demohouse/hgdoll/android/app/src/main/res/drawable/ic_launcher_foreground.xml
create mode 100644 demohouse/hgdoll/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
create mode 100644 demohouse/hgdoll/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
create mode 100644 demohouse/hgdoll/android/app/src/main/res/mipmap-hdpi/ic_launcher.webp
create mode 100644 demohouse/hgdoll/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp
create mode 100644 demohouse/hgdoll/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
create mode 100644 demohouse/hgdoll/android/app/src/main/res/mipmap-mdpi/ic_launcher.webp
create mode 100644 demohouse/hgdoll/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp
create mode 100644 demohouse/hgdoll/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
create mode 100644 demohouse/hgdoll/android/app/src/main/res/mipmap-xhdpi/ic_launcher.webp
create mode 100644 demohouse/hgdoll/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp
create mode 100644 demohouse/hgdoll/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
create mode 100644 demohouse/hgdoll/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
create mode 100644 demohouse/hgdoll/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp
create mode 100644 demohouse/hgdoll/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
create mode 100644 demohouse/hgdoll/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
create mode 100644 demohouse/hgdoll/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp
create mode 100644 demohouse/hgdoll/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
create mode 100644 demohouse/hgdoll/android/app/src/main/res/values/colors.xml
create mode 100644 demohouse/hgdoll/android/app/src/main/res/values/ic_launcher_background.xml
create mode 100644 demohouse/hgdoll/android/app/src/main/res/values/strings.xml
create mode 100644 demohouse/hgdoll/android/app/src/main/res/values/themes.xml
create mode 100644 demohouse/hgdoll/android/app/src/main/res/xml/backup_rules.xml
create mode 100644 demohouse/hgdoll/android/app/src/main/res/xml/data_extraction_rules.xml
create mode 100644 demohouse/hgdoll/android/build.gradle.kts
create mode 100644 demohouse/hgdoll/android/gradle.properties
create mode 100644 demohouse/hgdoll/android/gradle/libs.versions.toml
create mode 100644 demohouse/hgdoll/android/gradle/wrapper/gradle-wrapper.properties
create mode 100755 demohouse/hgdoll/android/gradlew
create mode 100644 demohouse/hgdoll/android/gradlew.bat
create mode 100644 demohouse/hgdoll/android/local.properties
create mode 100644 demohouse/hgdoll/android/settings.gradle.kts
create mode 100644 demohouse/hgdoll/android/show.png
create mode 100644 demohouse/hgdoll/docs/README_en.md
create mode 100644 demohouse/hgdoll/docs/assets/faq1.png
create mode 100644 demohouse/hgdoll/docs/assets/faq2.png
create mode 100644 demohouse/hgdoll/docs/assets/faq3.png
create mode 100644 demohouse/hgdoll/docs/assets/faq4.png
create mode 100644 demohouse/hgdoll/docs/assets/faq5.png
create mode 100644 demohouse/hgdoll/docs/assets/faq6.png
create mode 100644 demohouse/hgdoll/docs/assets/icon.png
create mode 100644 demohouse/hgdoll/docs/key.md
create mode 100644 demohouse/hgdoll/server/.gitignore
create mode 100644 demohouse/hgdoll/server/README.md
create mode 100644 demohouse/hgdoll/server/requestmen.txt
create mode 100755 demohouse/hgdoll/server/run.sh
create mode 100644 demohouse/hgdoll/server/src/__init__.py
create mode 100644 demohouse/hgdoll/server/src/config.py
create mode 100644 demohouse/hgdoll/server/src/main.py
create mode 100644 demohouse/hgdoll/server/src/prompt.py
create mode 100644 demohouse/hgdoll/server/src/utils.py
diff --git a/demohouse/hgdoll/.gitignore b/demohouse/hgdoll/.gitignore
new file mode 100644
index 00000000..af56f610
--- /dev/null
+++ b/demohouse/hgdoll/.gitignore
@@ -0,0 +1,2 @@
+.DS_Store
+.idea/
diff --git a/demohouse/hgdoll/LICENSE b/demohouse/hgdoll/LICENSE
new file mode 100644
index 00000000..c5ca71e8
--- /dev/null
+++ b/demohouse/hgdoll/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2025 削微寒
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/demohouse/hgdoll/README.md b/demohouse/hgdoll/README.md
new file mode 100644
index 00000000..29c268b4
--- /dev/null
+++ b/demohouse/hgdoll/README.md
@@ -0,0 +1,92 @@
+
+
+
中文 | English
+
HGDoll 是一款 AI 手机陪玩应用.
+
+
+这是一款完全开源的 AI 手机陪玩应用。在你游戏时,HGDoll 可实时看到你的游戏画面,陪你聊天、为你加油鼓劲,带来有趣的陪伴体验。它基于豆包大模型和火山方舟 Arkitect 构建,包含[安卓客户端](android/README.md)(Kotlin)和[后端服务](server/README.md)(Python)两部分,支持本地运行轻松上手。
+
+https://github.com/user-attachments/assets/704d7f2a-3206-45f2-8760-d9cf9577ca7c
+
+目前,HGDoll 还只是一个“小玩具”,仍有许多 Bug 和改进空间,我会持续更新和完善,同时欢迎大家上手体验,一起贡献代码。
+
+## 架构图
+
+```mermaid
+graph TD
+ User((用户)) --> Android[安卓客户端]
+
+ subgraph Client[客户端]
+ Android --> Speech[语音识别]
+ Android --> Screen[屏幕录制]
+ Speech --> SpeechAPI[Doubao-流式语音识别]
+ SpeechAPI --> TextResult[语音转文字结果]
+ Screen --> ScreenCapture[定时截图]
+ AudioPlay[语音播放] --> Android
+ end
+
+ subgraph Server[Server 端 Arkitect]
+ TextResult --> Backend[后端服务]
+ ScreenCapture --> Backend
+ Backend --> TempMemory[临时记忆体]
+ TempMemory --> Context[会话上下文]
+ Context --> CTX1[Context-id-1]
+ Context --> CTX2[Context-id-2]
+ Context --> CTX3[Context-id-3]
+ Context --> CTXN[...]
+ Context --> Prompt[Prompt 生成]
+ ImageResult[截图识别结果] --> TempMemory
+ AudioResult[语音合成结果] --> AudioPlay
+ end
+
+ subgraph AI[AI 模型服务]
+ Backend --> VLM[Doubao-vision-pro-32k]
+ VLM --> ImageResult
+ Prompt --> LLM[Doubao-pro-32k]
+ LLM --> TTS[Doubao-语音合成]
+ TTS --> AudioResult
+ end
+
+ style User fill:#f9f,stroke:#333,stroke-width:2px
+ style Client fill:#e4f7fb,stroke:#333,stroke-width:1px
+ style Server fill:#e6ffe6,stroke:#333,stroke-width:1px
+ style AI fill:#e6e6ff,stroke:#333,stroke-width:1px
+ style Android fill:#fff,stroke:#333,stroke-width:1px
+ style Backend fill:#fff,stroke:#333,stroke-width:1px
+ style VLM fill:#fff,stroke:#333,stroke-width:1px
+ style LLM fill:#fff,stroke:#333,stroke-width:1px
+ style TTS fill:#fff,stroke:#333,stroke-width:1px
+```
+
+
+## 快速开始
+
+客户端、后端的启动和安装步骤都在对应目录下,需要配置必要的 API Key 申请方法,[点击查看](docs/key.md)
+
+### 项目结构
+
+```
+HGDoll/
+├── android/ # 安卓客户端
+├── server/ # 后端服务
+└── docs/ # 项目文档
+```
+
+### 技术栈
+
+#### 安卓客户端
+- Kotlin
+- Jetpack Compose
+- Gradle Kotlin DSL
+- AndroidX
+
+#### 后端服务
+- Python 3.8-3.12
+- FastAPI
+- 火山方舟 Arkitect SDK
+- Uvicorn
+
+
+## 许可证
+
+本项目采用 MIT 许可证,详见 [LICENSE](LICENSE) 文件。
diff --git a/demohouse/hgdoll/android/.gitignore b/demohouse/hgdoll/android/.gitignore
new file mode 100644
index 00000000..093721fc
--- /dev/null
+++ b/demohouse/hgdoll/android/.gitignore
@@ -0,0 +1,29 @@
+# Compiled class file
+*.class
+
+# Log file
+*.log
+
+# BlueJ files
+*.ctxt
+
+# Mobile Tools for Java (J2ME)
+.mtj.tmp/
+
+# Package Files #
+*.jar
+*.war
+*.nar
+*.ear
+*.zip
+*.tar.gz
+*.rar
+
+# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
+hs_err_pid*
+replay_pid*
+
+# Kotlin Gradle plugin data, see https://kotlinlang.org/docs/whatsnew20.html#new-directory-for-kotlin-data-in-gradle-projects
+.kotlin/
+.DS_Store
+.gradle/
diff --git a/demohouse/hgdoll/android/README.md b/demohouse/hgdoll/android/README.md
new file mode 100644
index 00000000..dbdbb649
--- /dev/null
+++ b/demohouse/hgdoll/android/README.md
@@ -0,0 +1,60 @@
+# HGDoll 安卓客户端
+
+
+
+HGDoll 是一个基于 Kotlin 和 Jetpack Compose 开发的安卓客户端应用,它采用豆包语音大模型服务,[点击查看](../docs/key.md)如何申请运行所需的 API Key。
+
+## 环境要求
+
+- Android Studio Hedgehog | 2023.1.1 或更高版本
+- JDK 17 或更高版本
+- Gradle 8.0 或更高版本
+- Android SDK 34 (Android 14) 或更高版本
+
+## 快速开始
+
+### 1. 克隆代码库
+
+```bash
+git clone https://github.com/521xueweihan/HGDoll.git
+cd android/
+```
+
+### 2. 配置开发环境
+
+1. 打开 Android Studio
+2. 选择 "Open an existing project"
+3. 选择克隆下来的 `android` 目录
+4. 等待 Gradle 同步完成
+
+### 3. 运行应用
+
+1. 连接 Android 设备或启动模拟器
+2. 点击 Android Studio 工具栏中的 "Run" 按钮(绿色三角形)
+3. 选择目标设备
+4. 等待应用安装和启动
+5. 在 App 中输入对应的 ASR Token、ASR App ID、本地 Server IP
+
+
+## 项目结构
+
+- `app/` - 主应用模块
+- `gradle/` - Gradle 包装器文件
+- `build.gradle.kts` - 项目级构建配置
+- `settings.gradle.kts` - 项目设置文件
+- `gradle.properties` - Gradle 属性配置
+
+## 技术栈
+
+- Kotlin - 主要编程语言
+- Jetpack Compose - 现代 UI 工具包
+- Gradle Kotlin DSL - 构建脚本
+- AndroidX - Android 扩展库
+
+## 贡献指南
+
+1. Fork 项目
+2. 创建特性分支 (`git checkout -b feature/AmazingFeature`)
+3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
+4. 推送到分支 (`git push origin feature/AmazingFeature`)
+5. 创建 Pull Request
\ No newline at end of file
diff --git a/demohouse/hgdoll/android/app/.gitignore b/demohouse/hgdoll/android/app/.gitignore
new file mode 100644
index 00000000..42afabfd
--- /dev/null
+++ b/demohouse/hgdoll/android/app/.gitignore
@@ -0,0 +1 @@
+/build
\ No newline at end of file
diff --git a/demohouse/hgdoll/android/app/build.gradle.kts b/demohouse/hgdoll/android/app/build.gradle.kts
new file mode 100644
index 00000000..fcea8cb9
--- /dev/null
+++ b/demohouse/hgdoll/android/app/build.gradle.kts
@@ -0,0 +1,73 @@
+plugins {
+ alias(libs.plugins.android.application)
+ alias(libs.plugins.kotlin.android)
+ alias(libs.plugins.kotlin.compose)
+}
+
+android {
+ namespace = "com.example.android"
+ compileSdk = 35
+
+ defaultConfig {
+ applicationId = "com.example.android"
+ minSdk = 24
+ targetSdk = 35
+ versionCode = 1
+ versionName = "1.0"
+
+ testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
+ }
+
+ buildTypes {
+ release {
+ isMinifyEnabled = false
+ proguardFiles(
+ getDefaultProguardFile("proguard-android-optimize.txt"),
+ "proguard-rules.pro"
+ )
+ }
+ }
+ compileOptions {
+ sourceCompatibility = JavaVersion.VERSION_11
+ targetCompatibility = JavaVersion.VERSION_11
+ }
+ kotlinOptions {
+ jvmTarget = "11"
+ }
+ buildFeatures {
+ compose = true
+ }
+}
+
+dependencies {
+ implementation(libs.androidx.core.ktx)
+ implementation(libs.androidx.lifecycle.runtime.ktx)
+ implementation(libs.androidx.activity.compose)
+ implementation(platform(libs.androidx.compose.bom))
+ implementation(libs.androidx.ui)
+ implementation(libs.androidx.ui.graphics)
+ implementation(libs.androidx.ui.tooling.preview)
+ implementation(libs.androidx.material3)
+
+ // 添加屏幕录制相关依赖
+ implementation("androidx.media:media:1.6.0")
+ implementation("com.github.bumptech.glide:glide:4.12.0")
+
+ // 添加音频录制相关依赖
+ implementation("com.google.android.exoplayer:exoplayer-core:2.19.1")
+ implementation("com.google.android.exoplayer:exoplayer-ui:2.19.1")
+
+ // 网络请求相关依赖
+ implementation("com.squareup.retrofit2:retrofit:2.9.0")
+ implementation("com.squareup.retrofit2:converter-gson:2.9.0")
+ implementation("com.squareup.okhttp3:okhttp:4.11.0")
+ implementation("com.squareup.okhttp3:logging-interceptor:4.11.0")
+
+ testImplementation(libs.junit)
+ androidTestImplementation(libs.androidx.junit)
+ androidTestImplementation(libs.androidx.espresso.core)
+ androidTestImplementation(platform(libs.androidx.compose.bom))
+ androidTestImplementation(libs.androidx.ui.test.junit4)
+ debugImplementation(libs.androidx.ui.tooling)
+ debugImplementation(libs.androidx.ui.test.manifest)
+}
\ No newline at end of file
diff --git a/demohouse/hgdoll/android/app/proguard-rules.pro b/demohouse/hgdoll/android/app/proguard-rules.pro
new file mode 100644
index 00000000..481bb434
--- /dev/null
+++ b/demohouse/hgdoll/android/app/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/demohouse/hgdoll/android/app/src/main/AndroidManifest.xml b/demohouse/hgdoll/android/app/src/main/AndroidManifest.xml
new file mode 100644
index 00000000..c09ec71c
--- /dev/null
+++ b/demohouse/hgdoll/android/app/src/main/AndroidManifest.xml
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/demohouse/hgdoll/android/app/src/main/ic_launcher-playstore.png b/demohouse/hgdoll/android/app/src/main/ic_launcher-playstore.png
new file mode 100644
index 0000000000000000000000000000000000000000..62490683d442d25ac60c84cd687453036ff1726a
GIT binary patch
literal 216156
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%0DuYV3im9^zjUvjIYBnZ0ac5?o=UN5>|MH
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