diff --git a/api/README.md b/api/README.md
index 55d7cc4..41cbdf5 100644
--- a/api/README.md
+++ b/api/README.md
@@ -4,14 +4,16 @@
 2. 部分函数需要 root 权限
 3. 这是 UEngine 运行器的函数重构,所以一些 UEngine 运行器上没有的 bug 可能在这个 API 里有
 ## ProgramInformation
-用于获取一些程序信息,详细如下(此为变量):
-| 变量名 | 变量介绍 |
+用于获取一些程序信息,详细如下(未特殊表明的是变量,否则是函数):
+| 变量/函数名 | 变量/函数介绍 |
 |:-:|:-:|
 | programPath | 获取程序所在路径 |
 | version | API 版本 |
 | updateTime | 更新时间 |
 | websize | 程序官网 |
 | home | 用户 home(用户文件)目录 |
+| developer | 参与的开发者列表 |
+| DesktopPath() | (函数)用户桌面目录 |
 
 ## Check
 用于检查 API 所需的东西是否完整,详细如下:  
@@ -34,8 +36,8 @@ xxx = api.APK("APK 所在路径")
 具体函数介绍:  
 | 函数名 | 函数介绍 |
 |:-:|:-:|
-| xxx.install() | 安装这个 APK 包 |
-| xxx.uninstall()| 卸载这个 APK 包 |
+| xxx.install() | 安装这个 APK 包(需要 Root) |
+| xxx.uninstall()| 卸载这个 APK 包(需要 Root) |
 | xxx.information()| 获取从 aapt 获取到的 APK 信息 |
 | xxx.activityName() | 获取 APK 的 Activity 信息 |
 | xxx.packageName() | 获取 APK 包名 |
@@ -43,31 +45,36 @@ xxx = api.APK("APK 所在路径")
 | xxx.saveApkIcon("图标保存路径") | 保存 APK 的图标到指定路径 |
 | xxx.version() | 获取 APK 版本号 |
 | xxx.saveDesktopFile("图标保存路径", "快捷方式保存路径") | 保存支持 UEngine 启动的 APK 快捷方式 |
+| xxx.run() | 运行该应用(需要保证已经安装) |
+| xxx.buildDeb("deb 包保存路径", qianZhui) | 打包为 deb 包(“qianZhui”是布尔值,True代表有前缀为“uengine-dc”,False代表没有前缀) |
 
 ## UEngine
 用于对 UEngine 进行一点点操控,详细如下:
 | 函数名 | 函数介绍 |
 |:-:|:-:|
-| RemoveUengineCheck() | 删除 UEngine 的检查脚本 |
+| UengineAppManager() | 显示 UEngine 安装应用程序管理器 |
+| OpenApp("应用包名", "应用Activity") | 运行指定的应用(需要保证程序已经安装) |
+| UengineDataClean() | 清空 UEngine 数据(需要 Root) |
+| RemoveUengineCheck() | 删除 UEngine 的检查脚本(需要 Root) |
 | CPUCheck() | 检查 CPU 是否支持运行 UEngine |
-| Services | 用于操控 UEngine 服务的类,见下 |
-| InternetBridge | 用于操控 UEngine 网络桥接的类,见下 |
+| Services | 用于操控 UEngine 服务的类,见下(需要 Root) |
+| InternetBridge | 用于操控 UEngine 网络桥接的类,见下(需要 Root) |
 ### Services
 关于 UEngine 的服务控制:
 | 函数名 | 函数介绍 |
 |:-:|:-:|
-| Services.Open() | 打开 UEngine 服务 | 
-| Services.Close() | 关闭 UEngine 服务 |
-| Services.Restart() | 重启 UEngine 服务 |
+| Services.Open() | 打开 UEngine 服务(需要 Root) | 
+| Services.Close() | 关闭 UEngine 服务(需要 Root) |
+| Services.Restart() | 重启 UEngine 服务(需要 Root) |
 ### InternetBridge
 关于 UEngine 的网络桥接控制:
 | 函数名 | 函数介绍 |
 |:-:|:-:|
-| InternetBridge.Open() | 打开 UEngine 网络桥接 | 
-| InternetBridge.Close() | 关闭 UEngine 网络桥接 |
-| InternetBridge.Restart() | 重启 UEngine 网络桥接 |
-| InternetBridge.Reload() | 重新加载 UEngine 网络桥接 |
-| InternetBridge.ForceReload() | 强制加载 UEngine 网络桥接 |
+| InternetBridge.Open() | 打开 UEngine 网络桥接(需要 Root) | 
+| InternetBridge.Close() | 关闭 UEngine 网络桥接(需要 Root) |
+| InternetBridge.Restart() | 重启 UEngine 网络桥接(需要 Root) |
+| InternetBridge.Reload() | 重新加载 UEngine 网络桥接(需要 Root) |
+| InternetBridge.ForceReload() | 强制加载 UEngine 网络桥接(需要 Root) |
 ## Adb
 用于对 Adb 的部分操控
 | 函数名 | 函数介绍 |
diff --git a/api/__init__.py b/api/__init__.py
index a0cd500..623ae8b 100644
--- a/api/__init__.py
+++ b/api/__init__.py
@@ -1,4 +1,5 @@
 import os
+import random
 import shutil
 import zipfile
 import traceback
@@ -7,10 +8,25 @@ from getxmlimg import getsavexml
 
 class ProgramInformation:
     programPath = os.path.split(os.path.realpath(__file__))[0]  # 返回 string
-    version = "1.6.0Alpha1"
-    updateTime = "2022年05月15日"
+    version = "1.6.0Alpha2"
+    updateTime = "2022年05月21日"
     websize = ["https://gitee.com/gfdgd-xi/uengine-runner", "https://github.com/gfdgd-xi/uengine-runner"]
     home = os.path.expanduser('~')
+    developer = ["gfdgd xi", "为什么您不喜欢熊出没和阿布呢"]
+    # 获取用户桌面目录
+    def DesktopPath() -> "获取用户桌面目录":
+        for line in open(get_home() + "/.config/user-dirs.dirs"):  # 以行来读取配置文件
+            desktop_index = line.find("XDG_DESKTOP_DIR=\"")  # 寻找是否有对应项,有返回 0,没有返回 -1
+            if desktop_index != -1:  # 如果有对应项
+                break  # 结束循环
+        if desktop_index == -1:  # 如果是提前结束,值一定≠-1,如果是没有提前结束,值一定=-1
+            return -1
+        else:
+            get = line[17:-2]  # 截取桌面目录路径
+            get_index = get.find("$HOME")  # 寻找是否有对应的项,需要替换内容
+            if get != -1:  # 如果有
+                get = get.replace("$HOME", get_home())  # 则把其替换为用户目录(~)
+            return get  # 返回目录
 
 # 判断程序以正确方式运行
 class Check:
@@ -27,16 +43,12 @@ class ROOT:
 class APK:
     def __init__(self, apkPath):
         self.apkPath = apkPath
-
     def install(self):
         os.system("pkexec /usr/bin/uengine-session-launch-helper -- uengine install --apk='{}'".format(self.apkPath))
-
     def uninstall(self):
-        os.system("pkexec /usr/bin/uengine-session-launch-helper -- uengine uninstall --pkg='{}'".format(self.apkPath))
-
+        os.system("pkexec /usr/bin/uengine-session-launch-helper -- uengine uninstall --pkg='{}'".format(self.packageName()))
     def information(self):
         return subprocess.getoutput("aapt dump badging '{}'".format(self.apkPath))
-
     def activityName(self):
         info = self.information()
         for line in info.split('\n'):
@@ -49,7 +61,6 @@ class APK:
                 line = line.replace("label=", "")
                 line = line.replace("icon=", "")
                 return line
-
     # 获取 apk 包名
     def packageName(self):
         info = self.information()
@@ -61,7 +72,6 @@ class APK:
                 line = line.replace("'", "")
                 line = line.replace(" ", "")
                 return line
-
     # 获取软件的中文名称
     def chineseLabel(self) -> "获取软件的中文名称":
         info = self.information()
@@ -70,7 +80,6 @@ class APK:
                 line = line.replace("application-label:", "")
                 line = line.replace("'", "")
                 return line
-
     # 保存apk图标
     def saveApkIcon(self, iconSavePath) -> "保存 apk 文件的图标":
         try:
@@ -97,7 +106,6 @@ class APK:
             traceback.print_exc()
             print("Error, show defult icon")
             shutil.copy(ProgramInformation.programPath + "/defult.png", iconSavePath)
-
     def version(self):
         info = self.information()
         for line in info.split('\n'):
@@ -111,7 +119,6 @@ class APK:
                 line = line.replace("'", "")
                 line = line.replace(" ", "")
                 return line
-            
     def saveDesktopFile(self, desktopPath, iconPath):
         showName = self.chineseLabel()
         if showName == "" or showName == None:
@@ -130,8 +137,154 @@ class APK:
         Type=Application
         '''.format(self.packageName(), self.activityName(), showName, iconPath, showName, showName)
         File(desktopPath).write(things)
+    def run(self):
+        UEngine.OpenApp(self.packageName(), self.activityName())
+
+    def buildDeb(self, savePath, qianZhui = True):
+        tempPath = "/tmp/uengine-apk-builder-{}".format(int(random.randint(0, 1024)))
+        #RunCommandShow("echo '======================================New===================================='")
+        #RunCommandShow("echo '创建目录'")
+        os.makedirs("{}/DEBIAN".format(tempPath))
+        os.makedirs("{}/usr/share/applications".format(tempPath))
+        os.makedirs("{}/usr/share/uengine/apk".format(tempPath))
+        os.makedirs("{}/usr/share/uengine/icons".format(tempPath))
+        apkPackageName = self.packageName()
+        if qianZhui:
+            apkPackageNameNew = "uengine-dc-" + self.packageName().lower()
+        else:
+            apkPackageNameNew = self.packageName().lower()
+        apkPackageVersion = self.version()
+        if apkPackageVersion[0].upper() == "V":
+            package = list(apkPackageVersion)
+            package.pop(0)
+            apkPackageVersion = "".join(package)
+        apkChineseLabel = self.chineseLabel()
+        apkActivityName = self.activityName()
+        iconSavePath = "{}/usr/share/uengine/icons/{}.png".format(tempPath, apkPackageNameNew)
+        debControl = '''Package: {}
+Version: {}
+Architecture: all
+Maintainer: {}
+Depends: deepin-elf-verify (>= 0.0.16.7-1), uengine (>= 1.0.1)
+Section: utils
+Priority: optional
+Description: {}\n'''.format(apkPackageNameNew, apkPackageVersion, apkChineseLabel, apkChineseLabel)
+        debPostinst = '''#!/bin/sh
+
+APK_DIR="/usr/share/uengine/apk"
+APK_NAME="{}"
+APK_PATH="$APK_DIR/$APK_NAME"
+DESKTOP_FILE="{}"
+
+
+if [ -f $APK_PATH ]; then
+    echo "Installing $APK_NAME"
+else 
+    echo "ERROR: $APK_NAME does not exist."
+    exit 0
+fi
+
+session_manager=`ps -ef | grep "uengine session-manager" | grep -v grep`
+if test -z "$session_manager"; then
+    echo "ERROR: app install failed(session-manager is not running)."
+    sess_dir="/usr/share/uengine/session_install"
+    if [ ! -d $sess_dir ]; then
+        mkdir $sess_dir
+        chmod 777 $sess_dir
+    fi
+    apk_name=${{APK_PATH##*/}}
+    fileName="$sess_dir/$apk_name"
+    echo $DESKTOP_FILE > $fileName
+    abistr=""
+    if test -n "$abistr"; then
+        abi=`echo $abistr |awk -F \= '{{print $2}}'`
+        echo $abi >> $fileName
+    fi
+    chmod 766 $fileName
+fi
+
+/usr/bin/uengine-session-launch-helper -- uengine install  --apk="$APK_PATH"
+
+exit 0'''.format(apkPackageNameNew + ".apk", "/usr/share/applications/{}.desktop".format(apkPackageNameNew))
+        debPrerm = '''#!/bin/sh
+
+APP_NAME="{}"
+DESKTOP_FILE="{}"
+
+session_manager=`ps -ef | grep "uengine session-manager" | grep -v grep`
+if test -z "$session_manager"; then
+    echo "ERROR: app uninstall failed(session-manager is not running)."
+    sess_dir="/usr/share/uengine/session_uninstall"
+    if [ ! -d $sess_dir ]; then
+        mkdir $sess_dir
+        chmod 777 $sess_dir
+    fi
+    fileName="$sess_dir/$APP_NAME"
+    echo $DESKTOP_FILE > $fileName
+    chmod 766 $fileName
+fi
+
+echo "Uninstalling $APP_NAME"
+/usr/bin/uengine-session-launch-helper -- uengine uninstall --pkg="$APP_NAME"
+
+exit 0'''.format(apkPackageName, "/usr/share/applications/{}.desktop".format(apkPackageNameNew))
+        desktopFile = '''[Desktop Entry]
+Categories=Other;
+Exec=uengine launch --action=android.intent.action.MAIN --package={} --component={}
+Icon=/usr/share/uengine/icons/{}.png
+Terminal=false
+Type=Application
+GenericName={}
+Name={}
+'''
+        # RunCommandShow("echo '{}' > '{}/DEBIAN/control'".format(debControl, tempPath))
+        #RunCommandShow("echo 正在写入文件:'{}/DEBIAN/control'".format(tempPath))
+        File("{}/DEBIAN/control".format(tempPath)).write(debControl)
+        #RunCommandShow("echo 正在写入文件:'{}/DEBIAN/postinst'".format(tempPath))
+        File("{}/DEBIAN/postinst".format(tempPath)).write(debPostinst)
+        #RunCommandShow("echo 正在写入文件:'{}/DEBIAN/prerm'".format(tempPath))
+        File("{}/DEBIAN/prerm".format(tempPath)).write(debPrerm)
+        #RunCommandShow("echo 正在写入文件:'/usr/share/applications/{}.desktop'".format(apkPackageNameNew))
+        # write_txt("{}/usr/share/applications/{}.desktop".format(tempPath, apkPackageNameNew), desktopFile)
+        self.saveDesktopFile("{}/usr/share/applications/{}.desktop".format(tempPath, apkPackageNameNew),
+                             "{}/usr/share/uengine/icons/{}.png".format(tempPath, apkPackageNameNew))
+        #BuildUengineDesktop(apkPackageName, apkActivityName, apkChineseLabel,
+        #                    "/usr/share/uengine/icons/{}.png".format(apkPackageNameNew),
+        #                    "{}/usr/share/applications/{}.desktop".format(tempPath, apkPackageNameNew))
+        #RunCommandShow("echo '复制文件'")
+        #RunCommandShow("echo '写入 APK 软件图标'")
+        #SaveApkIcon(apkPath, iconSavePath)
+        self.saveApkIcon(iconSavePath)
+        #RunCommandShow("echo '复制 APK 文件'")
+        shutil.copy(self.apkPath, "{}/usr/share/uengine/apk/{}.apk".format(tempPath, apkPackageNameNew))
+        #RunCommandShow("cp -rv '{}' '{}/usr/share/uengine/apk/{}.apk'".format(apkPath, tempPath, apkPackageNameNew))
+        #RunCommandShow("echo '正在设置文件权限……'")
+        os.system("chmod 0775 -vR '{}/DEBIAN/postinst'".format(tempPath))
+        os.system("chmod 0775 -vR '{}/DEBIAN/prerm'".format(tempPath))
+        #RunCommandShow("echo '打包 deb 到桌面……'")
+        os.system(
+            "dpkg -b '{}' '{}'".format(tempPath, savePath))
+        #RunCommandShow("echo '正在删除临时目录……'")
+        #shutil.rmtree(tempPath)
+        #RunCommandShow("rm -rfv '{}'".format(tempPath))
+        #RunCommandShow("echo '完成!'")
+        #findApkHistory.append(apkPath)
+        #combobox1['value'] = findApkHistory
+        #write_txt(get_home() + "/.config/uengine-runner/FindApkBuildHistory.json",
+        #          str(json.dumps(ListToDictionary(findApkHistory))))  # 将历史记录的数组转换为字典并写入
+        #messagebox.showinfo(title="提示", message="打包完成")
+        #DisabledAndEnbled(False)
+
 
 class UEngine:
+    def UengineAppManager():
+        os.system("uengine launch --package=org.anbox.appmgr --component=org.anbox.appmgr.AppViewActivity")
+    def OpenApp(appPackage, appActivity):
+        os.system("uengine launch --package={} --component={}".format(appPackage, appActivity))
+    # 清空 uengine 数据
+    def UengineDataClean() -> "清空 uengine 数据":
+        shutil.rmtree("{}/.local/share/applications/uengine/".format(ProgramInformation.home))
+        shutil.rmtree("/data/uengine")
     def RemoveUengineCheck():
         os.remove("/usr/share/uengine/uengine-check-runnable.sh")
     def CPUCheck():
@@ -186,8 +339,13 @@ class File:
 
 if __name__ == "__main__":
     print("本 API 不支持直接运行,请通过引入的方式使用此 API")
-    apki = APK("/home/gfdgd_xi/下载/com.mihoyo.cloudgames.ys_1.0.0_liqucn.com.apk")
+    apki = APK("/home/gfdgd_xi/下载/60D3B51B76CCAC313B3F0809FD1A64FD.apk")
     print(apki.packageName())
+    print(apki.chineseLabel())
+    #print(apki.install())
+    #apki.run()
+    #apki.buildDeb("/home/gfdgd_xi/下载/好奇时间.deb")
+    apki.uninstall()
     quit()
 
 if not ROOT.GetRoot():
diff --git a/api/defult.png b/api/defult.png
new file mode 100644
index 0000000..c836b68
Binary files /dev/null and b/api/defult.png differ
diff --git a/main.py b/main.py
index da2ea10..1cd5588 100755
--- a/main.py
+++ b/main.py
@@ -3,10 +3,10 @@
 ###########################################################################################
 # 作者:gfdgd xi<3025613752@qq.com>
 # 版本:1.6.1
-# 更新时间:2022年2月6日(要开学了)
+# 更新时间:2022年5月21日(要开学了)
 # 感谢:anbox、deepin 和 UOS
 # 基于 Python3 的 tkinter 构建
-# 更新:gfdgd xi<3025613752@qq.com>、actionchen<917981399@qq.com>
+# 更新:gfdgd xi<3025613752@qq.com>、actionchen<917981399@qq.com>、为什么您不喜欢熊出没和阿布呢
 ###########################################################################################
 #################
 # 引入所需的库