diff --git a/README.md b/README.md index f1ba0bd..de1984c 100755 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@

-

UEngine 运行器 2.1.0

+

UEngine 运行器 2.1.1


star fork @@ -9,9 +9,8 @@         虽然通过Deepin/UOS应用商店已经能够安装部分安卓应用,但对于安卓应用爱好者来说,不能自由地安装任意APK软件包实在是不尽如人意。本软件可以实现在Deepin/UOS上安装任意APK软件包,并能将其启动图标发送到系统桌面或启动器中,方便用户快速启动它。 ![图片.png](https://storage.deepin.org/thread/202212181918041904_图片.png) -(测试平台:UOS 家庭版 21.3.1,deepin 20.8,UOS 专业版 1050) -适配架构:amd64、arm64 - +支持系统:Deepin(amd64)、UOS(amd64/arm64)、Debian(amd64,≥debian 10)、Ubuntu(amd64,≥Ubuntu 20.04) +Debian 10、Debian 11、Ubuntu 20.04 需要从 http://dtk.gfdgdxi.top/ 下载 dtk(版本≥5.5)并安装才能通过运行器的安装程序正确安装 UEngine ## 程序相关网站 作者个人站:https://www.gfdgdxi.top @@ -77,6 +76,8 @@ sudo apt upgrade ![image.png](https://storage.deepin.org/thread/202205220801513371_image.png) ### 更新内容 +#### V2.1.1(2023年07月06日) + #### V2.1.0(2023年05月13日) **※1、修复源地址(迁出 Gitlink);** **※2、优化 UEngine 安装器,可以在 Debian/Ubuntu 使用(Debian11/Debian10/Ubuntu20.04 需要安装 dtk(≥5.5),dtk 可以从 https://gitee.com/gfdgd-xi/dtk-sources-for-uos-apt/releases 获取);** diff --git a/information.json b/information.json index ef01406..170a674 100755 --- a/information.json +++ b/information.json @@ -23,13 +23,14 @@ ], "Update": [ "V2.1.1:", - "※1、修复在 Ubuntu/Debian 安装 UEngine 时提示“该脚本不支持 deepin”的问题", - "※2、修复 UEngine 在 debian12 安装无法正常开启 UEngine 的问题", - "※3、修复在 UEngine 程序菜单检查到 UEngine 不存在但是无法安装的问题", - "※4、修复了 https://gitee.com/gfdgd-xi/uengine-runner/issues/I6B6C8 的问题", - "5、添加 zenity 依赖", - "6、屏蔽在更新程序过程中杀死程序中输出的错误", - "7、修改下载 dtk 的网址", + "※1、修复在 Ubuntu/Debian 安装 UEngine 时提示“该脚本不支持 deepin”的问题;", + "※2、修复 UEngine 在 debian12 安装无法正常开启 UEngine 的问题;", + "※3、修复在 UEngine 程序菜单检查到 UEngine 不存在但是无法安装的问题;", + "※4、修复了 https://gitee.com/gfdgd-xi/uengine-runner/issues/I6B6C8 的问题;", + "※5、优化了 postinst 脚本;", + "6、添加 zenity 依赖;", + "7、屏蔽在更新程序过程中杀死程序中输出的错误;", + "8、修改下载 dtk 的网址。", "", "V2.1.0:", "※1、修复源地址(迁出 Gitlink);", diff --git a/new-deb-build/DEBIAN/control b/new-deb-build/DEBIAN/control index c8b2ecf..1f056cf 100755 --- a/new-deb-build/DEBIAN/control +++ b/new-deb-build/DEBIAN/control @@ -6,7 +6,7 @@ Architecture: all Section: utils Installed-Size: 2920 Maintainer: gfdgd xi <3025613752@qq.com> -Depends: python3, python3-tk, python3-pip, aapt, python3-setuptools, deepin-terminal | mate-terminal | gnome-terminal | xfce4-terminal, curl, python3-pil, python3-requests, adb, fonts-noto-cjk, python3-numpy, wget, inotify-tools, aria2, python3-pyqt5, python3-matplotlib, python3-urllib3, zenity +Depends: python3, python3-tk, python3-pip, aapt, python3-setuptools, deepin-terminal | mate-terminal | gnome-terminal | xfce4-terminal, curl, python3-pil, python3-requests, adb, fonts-noto-cjk, python3-numpy, wget, inotify-tools, aria2, python3-pyqt5, python3-matplotlib, python3-urllib3, zenity, python3-pil.imagetk Recommends: uengine, deepin-elf-verify, python3-pyqt5.qtwebengine Priority: optional Conflicts: spark-uengine-apk-builder, com.gitee.uengine.runner.spark.ubuntu diff --git a/new-deb-build/DEBIAN/postinst b/new-deb-build/DEBIAN/postinst index b960604..debb160 100755 --- a/new-deb-build/DEBIAN/postinst +++ b/new-deb-build/DEBIAN/postinst @@ -1,10 +1,10 @@ #!/bin/bash # 使用 pip 安装所需库 echo 安装组件 -python3 -m pip install --upgrade pip --trusted-host https://repo.huaweicloud.com -i https://repo.huaweicloud.com/repository/pypi/simple -python3 -m pip install --upgrade ttkthemes --trusted-host https://repo.huaweicloud.com -i https://repo.huaweicloud.com/repository/pypi/simple -python3 -m pip install --upgrade pyautogui --trusted-host https://repo.huaweicloud.com -i https://repo.huaweicloud.com/repository/pypi/simple -python3 -m pip install --upgrade keyboard --trusted-host https://repo.huaweicloud.com -i https://repo.huaweicloud.com/repository/pypi/simple +python3 -m pip install --upgrade ttkthemes --trusted-host https://repo.huaweicloud.com -i https://repo.huaweicloud.com/repository/pypi/simple > /dev/null 2>&1 | true +python3 -m pip install --upgrade pyautogui --trusted-host https://repo.huaweicloud.com -i https://repo.huaweicloud.com/repository/pypi/simple > /dev/null 2>&1 | true +python3 -m pip install --upgrade keyboard --trusted-host https://repo.huaweicloud.com -i https://repo.huaweicloud.com/repository/pypi/simple > /dev/null 2>&1 | true +python3 -m pip install --upgrade pillow --trusted-host https://repo.huaweicloud.com -i https://repo.huaweicloud.com/repository/pypi/simple > /dev/null 2>&1 | true echo 执行完成 # 建立软链接 ln -s /opt/apps/com.gitee.uengine.runner.spark/files/uengine-runner /usr/bin/uengine-runner diff --git a/new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/AutoConfig.py b/new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/AutoConfig.py index cf40591..b726998 100755 --- a/new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/AutoConfig.py +++ b/new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/AutoConfig.py @@ -541,7 +541,7 @@ def ChangeSources(): ui.searchList.setModel(nmodel) urlSourcesIndex = i except: - [ui.actionGitlink, ui.actionGitee, ui.actionGithub, ui.action_IPv6, ui.action_2, ui.action_3, ui.action][urlSourcesIndex].setChecked(True) + #[ui.actionGitlink, ui.actionGitee, ui.actionGithub, ui.action_IPv6, ui.action_2, ui.action_3, ui.action][urlSourcesIndex].setChecked(True) traceback.print_exc() QtWidgets.QMessageBox.critical(window, "提示", "无法连接服务器") urlSources = old_urlSources #如果源不可用则换回来 diff --git a/new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/LoadingBinder/load.sh b/new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/LoadingBinder/load.sh index 5b3ff6e..7d0c71c 100644 --- a/new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/LoadingBinder/load.sh +++ b/new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/LoadingBinder/load.sh @@ -5,9 +5,13 @@ if [[ `whoami` != root ]]; then fi if [ -d /dev/binderfs ]; then echo 已启动 binder,end + systemctl start uengine-container.service + systemctl start uengine-session.service exit fi modprobe binder_linux modprobe ashmem_linux mkdir /dev/binderfs mount -t binder binder /dev/binderfs +systemctl start uengine-container.service +systemctl start uengine-session.service diff --git a/new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/information.json b/new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/information.json index f0377c6..db91aaa 100755 --- a/new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/information.json +++ b/new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/information.json @@ -2,11 +2,10 @@ "Package": "com.gitee.uengine.runner.spark", "Url": [ "https://gitee.com/gfdgd-xi/uengine-runner", - "https://github.com/gfdgd-xi/uengine-runner", - "https://gitlink.org.cn/gfdgd_xi/uengine-runner" + "https://github.com/gfdgd-xi/uengine-runner" ], - "Version": "2.1.0", - "System": "Linux(deepin/UOS/Ubuntu22.04)", + "Version": "2.1.1", + "System": "Linux(deepin/UOS/Ubuntu/Debian)", "Tips": [ "更多可见:https://gitee.com/gfdgd-xi/uengine-runner/wikis 或程序的更多帮助", "安装APK:点浏览按钮,选中需要安装的APK,然后点安装按钮", @@ -23,6 +22,16 @@ "5、如果想要使用adb连接UEngine或其他手机,请使用 1.2.0 以前的版本。(如需连接UEngine请安装adb补丁)" ], "Update": [ + "V2.1.1:", + "※1、修复在 Ubuntu/Debian 安装 UEngine 时提示“该脚本不支持 deepin”的问题;", + "※2、修复 UEngine 在 debian12 安装无法正常开启 UEngine 的问题;", + "※3、修复在 UEngine 程序菜单检查到 UEngine 不存在但是无法安装的问题;", + "※4、修复了 https://gitee.com/gfdgd-xi/uengine-runner/issues/I6B6C8 的问题;", + "※5、优化了 postinst 脚本;", + "6、添加 zenity 依赖;", + "7、屏蔽在更新程序过程中杀死程序中输出的错误;", + "8、修改下载 dtk 的网址。", + "", "V2.1.0:", "※1、修复源地址(迁出 Gitlink);", "※2、优化 UEngine 安装器,可以在 Debian/Ubuntu 使用(Debian11/Debian10/Ubuntu20.04 需要安装 dtk(≥5.5),dtk 可以从 https://gitee.com/gfdgd-xi/dtk-sources-for-uos-apt/releases 获取);", @@ -249,10 +258,11 @@ "11、deepin 终端", "……" ], - "Time": "2023-05-13 13:28:55 Linux-5.15.77-amd64-desktop-x86_64-with-Deepin-20.9-apricot", + "Time": "2023-07-06 11:16:01 Linux-5.15.77-amd64-desktop-x86_64-with-Deepin-20.9-apricot", "Contribute": [ "感谢以下用户提供的问题、建议、图标、代码等,如果有遗漏,请及时与开发者联系添加,以及如果侵犯到您的合法权益,也及时与开发者联系:

", "
", + "感谢 @鹤舞白沙 优化了程序文案", "感谢 @Bail 修复了修复应用商店换源的问题,实现了微型应用商店更新关闭进程的功能", "感谢 RacoonGX 团队的付出和贡献", "感谢 cleverwwh 反馈的 UEngine 打包器在部分系统无法打开的问题", diff --git a/new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/uengine-installer b/new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/uengine-installer index 1670039..0b22874 100755 --- a/new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/uengine-installer +++ b/new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/uengine-installer @@ -3,7 +3,7 @@ CheckEnv(){ # 检测是不是 Deepin lsb_release -i | grep -i deepin - if [[ $? != 0 ]]; then + if [[ $? == 0 ]]; then zenity --error --no-wrap '--text=您的系统无法安装 UEngine,原因:此脚本不支持 Deepin' exit fi @@ -32,7 +32,7 @@ CheckEnv(){ #kernel=`uname -r` python3 "${programPath}/CompareVersion.py" "${newestDtkVersion}" "5.5" if [[ $? != 0 ]]; then - zenity --error --no-wrap "--text=提示:您当前的 dtk 版本过老,请更新 dtk 版本后再试(版本需要大于等于 5.5),可以从 https://gitee.com/gfdgd-xi/dtk-sources-for-uos-apt/ 获取编译好的 dtk" + zenity --error --no-wrap "--text=提示:您当前的 dtk 版本过老,请更新 dtk 版本后再试(版本需要大于等于 5.5),可以从 http://dtk.gfdgdxi.top 获取编译好的 dtk" exit fi #exit diff --git a/new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/uengine-runner b/new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/uengine-runner index a0053a5..66be878 100755 --- a/new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/uengine-runner +++ b/new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/uengine-runner @@ -1586,7 +1586,7 @@ aaptVersion = GetCommandReturn("aapt version") SystemVersion = GetSystemVersion() iconPath = "{}/runner.svg".format(os.path.split(os.path.realpath(__file__))[0]) about = f'''

-

介绍:一个基于 Python3 的 PyQt5 制作的 UEngine 运行器,在新版本Deepin/UOS发布后,可以在应用商店安装部分官方已适配的安卓应用,对爱好者来说,不能自己安装APK软件包始终差点意思,本程序可以为Deepin/UOS上的UEngine安卓运行环境安装自定义APK软件包,并能发送安装的APK包启动菜单到桌面或系统菜单。

+

介绍:虽然通过Deepin/UOS应用商店已经能够安装部分安卓应用,但对于安卓应用爱好者来说,不能自由地安装任意APK软件包实在是不尽如人意。本软件可以实现在Deepin/UOS上安装任意APK软件包,并能将其启动图标发送到系统桌面或启动器中,方便用户快速启动它。

程序开源许可证:GPLV3

版本:{version}

适用平台:{goodRunSystem}

@@ -1825,7 +1825,7 @@ if not os.path.exists("/usr/bin/uengine"): #QtWidgets.QMessageBox.critical(None, "错误", "请安装 UEngine 后继续") #sys.exit(0) #if QtWidgets.QMessageBox.question(None, "提示", "您的电脑没有安装 UEngine,是否安装 UEngine 以便更好的使用\n这里将会使用 shenmo 提供的脚本进行安装\n安装完后重新启动该程序即可\n提示:无法保证此安装脚本安装的 UEngine 可以使用") == QtWidgets.QMessageBox.Yes: - if QtWidgets.QMessageBox.question(None, "提示", "您的电脑没有安装 UEngine,是否安装 UEngine 以便更好的使用\n这里将会安装移植版本(之前由 Shenmo 编写)\n安装完后重新启动该程序即可\n提示:需要在 Ubuntu 20.04 或 debian10 及以上版本才能正常安装\nUbuntu 20.04 和 debian10 需要手动安装 dtk(≥5.5),可以从 https://gitee.com/gfdgd-xi/dtk-sources-for-uos-apt/releases 获取") == QtWidgets.QMessageBox.Yes: + if QtWidgets.QMessageBox.question(None, "提示", "您的电脑没有安装 UEngine,是否安装 UEngine 以便更好的使用\n这里将会安装移植版本(之前由 Shenmo 编写)\n安装完后重新启动该程序即可\n提示:需要在 Ubuntu 20.04 或 debian10 及以上版本才能正常安装\nUbuntu 20.04 和 debian10 需要手动安装 dtk(≥5.5),可以从 http://dtk.gfdgdxi.top 获取") == QtWidgets.QMessageBox.Yes: #os.system(f"'{programPath}/launch.sh' deepin-terminal -C \"bash '{programPath}/uengine-installer'\"") OpenTerminal(f"bash '{programPath}/uengine-installer'") sys.exit(0) @@ -1975,8 +1975,8 @@ uengineCheckCpu = QtWidgets.QAction(QtGui.QIcon.fromTheme("cpu"), langFile[lang] uengineDeleteUengineCheck = QtWidgets.QAction(QtWidgets.QApplication.style().standardIcon(40), langFile[lang]["Main"]["MainWindow"]["Menu"][2]["Menu"][9]) uengineReinstall = QtWidgets.QAction(langFile[lang]["Main"]["MainWindow"]["Menu"][2]["Menu"][10]) uengineUbuntuInstall = QtWidgets.QAction(QtGui.QIcon.fromTheme("ubuntu-logo-icon"), langFile[lang]["Main"]["MainWindow"]["Menu"][2]["Menu"][14]) -uengineUbuntuRemove = QtWidgets.QAction(QtGui.QIcon.fromTheme("ubuntu-logo-icon"), "移除在 Ubuntu 上安装的 UEngine 及其附属脚本") -uengineUbuntuInstallRoot = QtWidgets.QAction(QtGui.QIcon.fromTheme("ubuntu-logo-icon"), "在 Ubuntu 上安装 UEngine(SuperSU 镜像)") +uengineUbuntuRemove = QtWidgets.QAction(QtGui.QIcon.fromTheme("ubuntu-logo-icon"), "移除在 Ubuntu/Debian 上安装的 UEngine 及其附属脚本") +uengineUbuntuInstallRoot = QtWidgets.QAction(QtGui.QIcon.fromTheme("ubuntu-logo-icon"), "在 Ubuntu/Debian 上安装 UEngine(SuperSU 镜像)") uengineWindowSizeSetting = QtWidgets.QAction(langFile[lang]["Main"]["MainWindow"]["Menu"][2]["Menu"][16]) uengine.addAction(uengineOpenDebBuilder) uengine.addAction(uengineOpenDebBuilderMore) diff --git a/new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/uengine-runner-applist-launch.sh b/new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/uengine-runner-applist-launch.sh index 18a10f8..8a20ffa 100755 --- a/new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/uengine-runner-applist-launch.sh +++ b/new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/uengine-runner-applist-launch.sh @@ -14,16 +14,16 @@ else if [ "$versionLower" = "deepin" ] || [ "$versionLower" = "uos" ]; then echo "此系统为 Deepin/UOS,使用 apt 安装" zenity --question --text="您还未安装 UEngine,是否现在安装?" --no-wrap - if [[ $? = 0 ]]; then - "$dir/uengine-runner-applist-launch.sh" deepin-terminal -C "pkexec apt install uengine -y" + if [[ $? == 0 ]]; then + "$dir/launch.sh" deepin-terminal -C "pkexec apt install uengine -y" fi else # 因为安装器出现问题,所以废弃 zenity --error --text="请安装 UEngine 后继续" --no-wrap echo "非 Deepin/UOS 系统,使用 shenmo 提供的脚本安装\n暂未保证此安装脚本一定安装成功" zenity --question --text="您还未安装 UEngine,是否现在安装?" --no-wrap - if [[ $? = 0 ]]; then - deepin-terminal -C "bash /opt/apps/com.gitee.uengine.runner.spark/files/uengine-installer" + if [[ $? == 0 ]]; then + "$dir/launch.sh" deepin-terminal -C "bash /opt/apps/com.gitee.uengine.runner.spark/files/uengine-installer" fi fi fi diff --git a/new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/updatekiller.py b/new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/updatekiller.py index 962aee4..d44b6b9 100755 --- a/new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/updatekiller.py +++ b/new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/updatekiller.py @@ -8,11 +8,15 @@ PIDFILE = '/tmp/uengine-runner.pid' #程序结束时清理pid @atexit.register def remove_pid(): - with open(PIDFILE) as pidfile: - pidlst = pidfile.readlines() - pidlst.remove(str(PID)+'\n') - with open(PIDFILE,'w') as pidfile: - pidfile.writelines(pidlst) + try: + with open(PIDFILE) as pidfile: + pidlst = pidfile.readlines() + pidlst.remove(str(PID)+'\n') + with open(PIDFILE,'w') as pidfile: + pidfile.writelines(pidlst) + except: + # 忽略 + pass #更新时结束进程 def main():