新增Via安装功能
This commit is contained in:
parent
e94ebecfa2
commit
82b352d827
Binary file not shown.
1
Makefile
1
Makefile
|
@ -60,6 +60,7 @@ build:
|
||||||
cp -rv pkexec new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
|
cp -rv pkexec new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
|
||||||
cp -rv LoadingBinder new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
|
cp -rv LoadingBinder new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
|
||||||
cp -rv aapt new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
|
cp -rv aapt new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
|
||||||
|
cp -rv APK new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
|
||||||
rm -rfv new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/Help/information
|
rm -rfv new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/Help/information
|
||||||
python3 UpdateTime.py
|
python3 UpdateTime.py
|
||||||
python3 RemovePycacheFile.py #new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
|
python3 RemovePycacheFile.py #new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
|
||||||
|
|
|
@ -30,6 +30,7 @@
|
||||||
"5、优化安装量统计机制",
|
"5、优化安装量统计机制",
|
||||||
"6、关于窗口新增赞助页",
|
"6、关于窗口新增赞助页",
|
||||||
"7、新增 QQ 交流群入口",
|
"7、新增 QQ 交流群入口",
|
||||||
|
"8、内置 Via 浏览器",
|
||||||
"",
|
"",
|
||||||
"<b>V2.1.2:</b>",
|
"<b>V2.1.2:</b>",
|
||||||
"※1、修复 https://gitee.com/gfdgd-xi/uengine-runner/issues/I6ZRZX",
|
"※1、修复 https://gitee.com/gfdgd-xi/uengine-runner/issues/I6ZRZX",
|
||||||
|
|
|
@ -2024,6 +2024,7 @@ uengineUbuntuInstall = QtWidgets.QAction(QtGui.QIcon.fromTheme("ubuntu-logo-icon
|
||||||
uengineUbuntuRemove = QtWidgets.QAction(QtGui.QIcon.fromTheme("ubuntu-logo-icon"), "移除在 Ubuntu/Debian 上安装的 UEngine 及其附属脚本")
|
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 镜像)")
|
uengineUbuntuInstallRoot = QtWidgets.QAction(QtGui.QIcon.fromTheme("ubuntu-logo-icon"), "在 Ubuntu/Debian 上安装 UEngine(SuperSU 镜像)")
|
||||||
uengineWindowSizeSetting = QtWidgets.QAction(langFile[lang]["Main"]["MainWindow"]["Menu"][2]["Menu"][16])
|
uengineWindowSizeSetting = QtWidgets.QAction(langFile[lang]["Main"]["MainWindow"]["Menu"][2]["Menu"][16])
|
||||||
|
uengineInstallVia = QtWidgets.QAction("安装 Via")
|
||||||
uengine.addAction(uengineOpenDebBuilder)
|
uengine.addAction(uengineOpenDebBuilder)
|
||||||
uengine.addAction(uengineOpenDebBuilderMore)
|
uengine.addAction(uengineOpenDebBuilderMore)
|
||||||
uengine.addAction(uengineKeyboardToMouse)
|
uengine.addAction(uengineKeyboardToMouse)
|
||||||
|
@ -2049,6 +2050,9 @@ uengine.addSeparator()
|
||||||
uengine.addAction(uengineDeleteUengineCheck)
|
uengine.addAction(uengineDeleteUengineCheck)
|
||||||
uengine.addAction(uengineReinstall)
|
uengine.addAction(uengineReinstall)
|
||||||
uengineRoot = uengine.addMenu(langFile[lang]["Main"]["MainWindow"]["Menu"][2]["Menu"][11]["Name"])
|
uengineRoot = uengine.addMenu(langFile[lang]["Main"]["MainWindow"]["Menu"][2]["Menu"][11]["Name"])
|
||||||
|
uengine.addSeparator()
|
||||||
|
uengine.addAction(uengineInstallVia)
|
||||||
|
|
||||||
#uengineUbuntuInstall.setDisabled(True)
|
#uengineUbuntuInstall.setDisabled(True)
|
||||||
# 绑定信号
|
# 绑定信号
|
||||||
uengineAllowOrDisallowUpdateAndroidApp.triggered.connect(AllowOrDisallowUpdateAndroidApp)
|
uengineAllowOrDisallowUpdateAndroidApp.triggered.connect(AllowOrDisallowUpdateAndroidApp)
|
||||||
|
@ -2064,6 +2068,12 @@ uengineDeleteUengineCheck.triggered.connect(DelUengineCheck)
|
||||||
uengineReinstall.triggered.connect(ReinstallUengine)
|
uengineReinstall.triggered.connect(ReinstallUengine)
|
||||||
uengineWindowSizeSetting.triggered.connect(UengineWindowSizeSetting.ShowWindow)
|
uengineWindowSizeSetting.triggered.connect(UengineWindowSizeSetting.ShowWindow)
|
||||||
|
|
||||||
|
def InstallVia():
|
||||||
|
ComboInstallPath.setCurrentText(f"{programPath}/APK/Via.apk")
|
||||||
|
Button3Install()
|
||||||
|
|
||||||
|
uengineInstallVia.triggered.connect(InstallVia)
|
||||||
|
|
||||||
uengineStart = QtWidgets.QAction(QtGui.QIcon.fromTheme("services"), langFile[lang]["Main"]["MainWindow"]["Menu"][2]["Menu"][2]["Menu"][0])
|
uengineStart = QtWidgets.QAction(QtGui.QIcon.fromTheme("services"), langFile[lang]["Main"]["MainWindow"]["Menu"][2]["Menu"][2]["Menu"][0])
|
||||||
uengineStop = QtWidgets.QAction(QtGui.QIcon.fromTheme("services"), langFile[lang]["Main"]["MainWindow"]["Menu"][2]["Menu"][2]["Menu"][1])
|
uengineStop = QtWidgets.QAction(QtGui.QIcon.fromTheme("services"), langFile[lang]["Main"]["MainWindow"]["Menu"][2]["Menu"][2]["Menu"][1])
|
||||||
uengineRestart = QtWidgets.QAction(QtGui.QIcon.fromTheme("services"), langFile[lang]["Main"]["MainWindow"]["Menu"][2]["Menu"][2]["Menu"][2])
|
uengineRestart = QtWidgets.QAction(QtGui.QIcon.fromTheme("services"), langFile[lang]["Main"]["MainWindow"]["Menu"][2]["Menu"][2]["Menu"][2])
|
||||||
|
|
|
@ -59,6 +59,13 @@ if [[ -f /usr/bin/uengine-loading-ubuntu ]] || [[ -f /usr/bin/uengine-loading-bi
|
||||||
done
|
done
|
||||||
rm -f /tmp/upgrade-uengine-loading-ubuntu
|
rm -f /tmp/upgrade-uengine-loading-ubuntu
|
||||||
fi
|
fi
|
||||||
|
# 自动往 UEngine 安装 Via(如果 UEngine 已存在)
|
||||||
|
if [[ -f /usr/bin/uengine-session-launch-helper ]]; then
|
||||||
|
# 忽略错误进行安装
|
||||||
|
cp /opt/apps/com.gitee.uengine.runner.spark/files/APK/Via.apk /tmp/Via.apk | true
|
||||||
|
/usr/bin/uengine-session-launch-helper -- uengine install --apk=/tmp/Via.apk | true
|
||||||
|
rm -f /tmp/Via.apk | true
|
||||||
|
fi
|
||||||
# 刷新图标缓存
|
# 刷新图标缓存
|
||||||
# 因为 Ubuntu 的问题,省略
|
# 因为 Ubuntu 的问题,省略
|
||||||
gtk-update-icon-cache /usr/share/icons/bloom > /dev/null | true
|
gtk-update-icon-cache /usr/share/icons/bloom > /dev/null | true
|
||||||
|
|
|
@ -61,7 +61,11 @@ if [ "$1" = "purge" ]; then
|
||||||
else
|
else
|
||||||
echo "非 purge,跳过清理"
|
echo "非 purge,跳过清理"
|
||||||
fi
|
fi
|
||||||
|
# 自动卸载 UEngine 的 Via(如果 UEngine 已存在)
|
||||||
|
if [[ -f /usr/bin/uengine-session-launch-helper ]]; then
|
||||||
|
# 忽略错误进行安装
|
||||||
|
/usr/bin/uengine-session-launch-helper -- uengine uninstall --pkg=mark.via | true
|
||||||
|
fi
|
||||||
# 刷新图标缓存
|
# 刷新图标缓存
|
||||||
# 因为 Ubuntu 的问题,省略
|
# 因为 Ubuntu 的问题,省略
|
||||||
gtk-update-icon-cache /usr/share/icons/bloom > /dev/null | true
|
gtk-update-icon-cache /usr/share/icons/bloom > /dev/null | true
|
Binary file not shown.
Binary file not shown.
After Width: | Height: | Size: 9.9 KiB |
Binary file not shown.
After Width: | Height: | Size: 69 KiB |
|
@ -3,9 +3,14 @@
|
||||||
cat /etc/deepin_version | grep 23
|
cat /etc/deepin_version | grep 23
|
||||||
if [[ $? != 0 ]]; then
|
if [[ $? != 0 ]]; then
|
||||||
# 如果不是
|
# 如果不是
|
||||||
|
# 判断系统是否有安装 aapt
|
||||||
|
which aapt > /dev/null
|
||||||
|
if [[ $? == 0 ]]; then
|
||||||
|
# 如果有安装
|
||||||
aapt "$@"
|
aapt "$@"
|
||||||
exit $?
|
exit $?
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
# 如果是
|
# 如果是
|
||||||
programPath=$(cd $(dirname $0); pwd)
|
programPath=$(cd $(dirname $0); pwd)
|
||||||
echo $programPath
|
echo $programPath
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
"https://gitee.com/gfdgd-xi/uengine-runner",
|
"https://gitee.com/gfdgd-xi/uengine-runner",
|
||||||
"https://github.com/gfdgd-xi/uengine-runner"
|
"https://github.com/gfdgd-xi/uengine-runner"
|
||||||
],
|
],
|
||||||
"Version": "2.1.2",
|
"Version": "2.2.0",
|
||||||
"System": "Linux(deepin/UOS/Ubuntu/Debian)",
|
"System": "Linux(deepin/UOS/Ubuntu/Debian)",
|
||||||
"Tips": [
|
"Tips": [
|
||||||
"更多可见:https://gitee.com/gfdgd-xi/uengine-runner/wikis 或程序的更多帮助",
|
"更多可见:https://gitee.com/gfdgd-xi/uengine-runner/wikis 或程序的更多帮助",
|
||||||
|
@ -22,6 +22,16 @@
|
||||||
"5、如果想要使用adb连接UEngine或其他手机,请使用 1.2.0 以前的版本。(如需连接UEngine请安装adb补丁)"
|
"5、如果想要使用adb连接UEngine或其他手机,请使用 1.2.0 以前的版本。(如需连接UEngine请安装adb补丁)"
|
||||||
],
|
],
|
||||||
"Update": [
|
"Update": [
|
||||||
|
"<b>V2.2.0:</b>",
|
||||||
|
"※1、支持 deepin 23,不需要强制依赖 aapt",
|
||||||
|
"※2、修复 deepin 23 安装的 APK 无法正常在启动器显示图标的问题",
|
||||||
|
"※3、新增 ARM 架构非飞腾 CPU 识别防止破坏鲲鹏 kbox 环境",
|
||||||
|
"※4、修复部分系统在使用程序的一些功能时发生崩溃的问题",
|
||||||
|
"5、优化安装量统计机制",
|
||||||
|
"6、关于窗口新增赞助页",
|
||||||
|
"7、新增 QQ 交流群入口",
|
||||||
|
"8、内置 Via 浏览器",
|
||||||
|
"",
|
||||||
"<b>V2.1.2:</b>",
|
"<b>V2.1.2:</b>",
|
||||||
"※1、修复 https://gitee.com/gfdgd-xi/uengine-runner/issues/I6ZRZX",
|
"※1、修复 https://gitee.com/gfdgd-xi/uengine-runner/issues/I6ZRZX",
|
||||||
"※2、修复添加应用图标时activity名称错误的问题",
|
"※2、修复添加应用图标时activity名称错误的问题",
|
||||||
|
@ -263,7 +273,7 @@
|
||||||
"11、deepin 终端",
|
"11、deepin 终端",
|
||||||
"……"
|
"……"
|
||||||
],
|
],
|
||||||
"Time": "2024-01-29 19:04:32 Linux-6.1.32-amd64-desktop-hwe-x86_64-with-glibc2.35",
|
"Time": "2024-01-30 10:09:22 Linux-6.1.32-amd64-desktop-hwe-x86_64-with-glibc2.35",
|
||||||
"Contribute": [
|
"Contribute": [
|
||||||
"<b>感谢以下用户提供的问题、建议、图标、代码等,如果有遗漏,请及时与开发者联系添加,以及如果侵犯到您的合法权益,也及时与开发者联系:</p>",
|
"<b>感谢以下用户提供的问题、建议、图标、代码等,如果有遗漏,请及时与开发者联系添加,以及如果侵犯到您的合法权益,也及时与开发者联系:</p>",
|
||||||
"<hr>",
|
"<hr>",
|
||||||
|
|
|
@ -89,8 +89,8 @@ class UninstallProgram(QtCore.QThread):
|
||||||
self.error.emit("疑似卸载失败,请检查 UEngine 是否正常安装、运行以及 APK 文件或包名是否正确、完整")
|
self.error.emit("疑似卸载失败,请检查 UEngine 是否正常安装、运行以及 APK 文件或包名是否正确、完整")
|
||||||
DisabledAndEnbled(False)
|
DisabledAndEnbled(False)
|
||||||
return
|
return
|
||||||
if os.path.exists("{}/.local/share/applications/uengine/{}.desktop".format(get_home(), package)):
|
if os.path.exists("{}/{}.desktop".format(desktopFilePath, package)):
|
||||||
os.remove("{}/.local/share/applications/uengine/{}.desktop".format(get_home(), package))
|
os.remove("{}/{}.desktop".format(desktopFilePath, package))
|
||||||
if os.path.exists("{}/{}.desktop".format(get_desktop_path(), package)):
|
if os.path.exists("{}/{}.desktop".format(get_desktop_path(), package)):
|
||||||
os.remove("{}/{}.desktop".format(get_desktop_path(), package))
|
os.remove("{}/{}.desktop".format(get_desktop_path(), package))
|
||||||
findApkHistory.append(ComboInstallPath.currentText())
|
findApkHistory.append(ComboInstallPath.currentText())
|
||||||
|
@ -174,9 +174,9 @@ class InstallApk(QtCore.QThread):
|
||||||
try:
|
try:
|
||||||
if not os.path.exists("/tmp/uengine-runner"):
|
if not os.path.exists("/tmp/uengine-runner"):
|
||||||
os.makedirs("/tmp/uengine-runner")
|
os.makedirs("/tmp/uengine-runner")
|
||||||
if not os.path.exists("{}/.local/share/applications/uengine/".format(get_home())):
|
if not os.path.exists(desktopFilePath):
|
||||||
print("Mkdir")
|
print("Mkdir")
|
||||||
os.makedirs("{}/.local/share/applications/uengine/".format(get_home()))
|
os.makedirs(desktopFilePath)
|
||||||
# 读取设置
|
# 读取设置
|
||||||
setting = json.loads(readtxt(get_home() + "/.config/uengine-runner/setting.json"))
|
setting = json.loads(readtxt(get_home() + "/.config/uengine-runner/setting.json"))
|
||||||
# 安装应用
|
# 安装应用
|
||||||
|
@ -246,7 +246,7 @@ logicalHeight {verticalHeighe}
|
||||||
"{}/{}.desktop".format(get_desktop_path(), GetApkPackageName(path)))
|
"{}/{}.desktop".format(get_desktop_path(), GetApkPackageName(path)))
|
||||||
print("start install apk3")
|
print("start install apk3")
|
||||||
BuildUengineDesktop(GetApkPackageName(path), GetApkActivityName(path), GetApkChineseLabel(path), iconSavePath,
|
BuildUengineDesktop(GetApkPackageName(path), GetApkActivityName(path), GetApkChineseLabel(path), iconSavePath,
|
||||||
"{}/.local/share/applications/uengine/{}.desktop".format(get_home(), GetApkPackageName(path)))
|
"{}/{}.desktop".format(desktopFilePath, GetApkPackageName(path)))
|
||||||
print("\nprint install complete")
|
print("\nprint install complete")
|
||||||
if quit:
|
if quit:
|
||||||
return
|
return
|
||||||
|
@ -266,7 +266,7 @@ def InstallBuildDesktop(iconSavePath):
|
||||||
"{}/{}.desktop".format(get_desktop_path(), GetApkPackageName(path)), choose)
|
"{}/{}.desktop".format(get_desktop_path(), GetApkPackageName(path)), choose)
|
||||||
print("start install apk3")
|
print("start install apk3")
|
||||||
BuildUengineDesktop(GetApkPackageName(path), GetApkActivityName(path), GetApkChineseLabel(path), iconSavePath,
|
BuildUengineDesktop(GetApkPackageName(path), GetApkActivityName(path), GetApkChineseLabel(path), iconSavePath,
|
||||||
"{}/.local/share/applications/uengine/{}.desktop".format(get_home(), GetApkPackageName(path)), choose)
|
"{}/{}.desktop".format(desktopFilePath, GetApkPackageName(path)), choose)
|
||||||
print("\nprint install complete")
|
print("\nprint install complete")
|
||||||
|
|
||||||
def UpdateCombobox(tmp):
|
def UpdateCombobox(tmp):
|
||||||
|
@ -587,8 +587,8 @@ def BackUengineClean()->"清空 uengine 数据":
|
||||||
if QtWidgets.QMessageBox.warning(widget, "警告", "清空后数据将会完全丢失,确定要继续吗?", QtWidgets.QMessageBox.Ok | QtWidgets.QMessageBox.Cancel, QtWidgets.QMessageBox.Cancel) == QtWidgets.QMessageBox.Ok:
|
if QtWidgets.QMessageBox.warning(widget, "警告", "清空后数据将会完全丢失,确定要继续吗?", QtWidgets.QMessageBox.Ok | QtWidgets.QMessageBox.Cancel, QtWidgets.QMessageBox.Cancel) == QtWidgets.QMessageBox.Ok:
|
||||||
DisabledAndEnbled(True)
|
DisabledAndEnbled(True)
|
||||||
try:
|
try:
|
||||||
if os.path.exists("{}/.local/share/applications/uengine/".format(get_home())):
|
if os.path.exists(desktopFilePath):
|
||||||
shutil.rmtree("{}/.local/share/applications/uengine/".format(get_home()))
|
shutil.rmtree(desktopFilePath)
|
||||||
except:
|
except:
|
||||||
traceback.print_exc()
|
traceback.print_exc()
|
||||||
QtWidgets.QMessageBox.critical(widget, "错误", traceback.format_exc())
|
QtWidgets.QMessageBox.critical(widget, "错误", traceback.format_exc())
|
||||||
|
@ -1004,7 +1004,7 @@ class UengineWindowSizeSetting:
|
||||||
i.setChecked(True)
|
i.setChecked(True)
|
||||||
UengineWindowSizeSetting.setting.setWindowTitle(f"设置 Android 应用的窗口大小缩放设置")
|
UengineWindowSizeSetting.setting.setWindowTitle(f"设置 Android 应用的窗口大小缩放设置")
|
||||||
UengineWindowSizeSetting.setting.show()
|
UengineWindowSizeSetting.setting.show()
|
||||||
UengineWindowSizeSetting.setting.resize(UengineWindowSizeSetting.setting.frameSize().width() * 1.3, UengineWindowSizeSetting.setting.frameSize().height())
|
UengineWindowSizeSetting.setting.resize(int(UengineWindowSizeSetting.setting.frameSize().width() * 1.3), int(UengineWindowSizeSetting.setting.frameSize().height()))
|
||||||
|
|
||||||
def ReadSetting():
|
def ReadSetting():
|
||||||
file = open(f"/usr/share/uengine/appetc/{UengineWindowSizeSetting.package}.txt")
|
file = open(f"/usr/share/uengine/appetc/{UengineWindowSizeSetting.package}.txt")
|
||||||
|
@ -1191,7 +1191,7 @@ class UpdateWindow():
|
||||||
UpdateWindow.update.setCentralWidget(updateWidget)
|
UpdateWindow.update.setCentralWidget(updateWidget)
|
||||||
UpdateWindow.update.setWindowTitle("检查 UEngine 运行器更新")
|
UpdateWindow.update.setWindowTitle("检查 UEngine 运行器更新")
|
||||||
UpdateWindow.update.setWindowIcon(QtGui.QIcon(iconPath))
|
UpdateWindow.update.setWindowIcon(QtGui.QIcon(iconPath))
|
||||||
UpdateWindow.update.resize(updateWidget.frameGeometry().width(), int(updateWidget.frameGeometry().height() * 1.5))
|
UpdateWindow.update.resize(int(updateWidget.frameGeometry().width()), int(updateWidget.frameGeometry().height() * 1.5))
|
||||||
UpdateWindow.update.show()
|
UpdateWindow.update.show()
|
||||||
|
|
||||||
def Update():
|
def Update():
|
||||||
|
@ -1410,7 +1410,7 @@ class ShowTextTipsWindow():
|
||||||
ShowTextTipsWindow.messageWindow.setWindowTitle("提示")
|
ShowTextTipsWindow.messageWindow.setWindowTitle("提示")
|
||||||
ShowTextTipsWindow.messageWindow.setWindowIcon(QtGui.QIcon(iconPath))
|
ShowTextTipsWindow.messageWindow.setWindowIcon(QtGui.QIcon(iconPath))
|
||||||
ShowTextTipsWindow.messageWindow.show()
|
ShowTextTipsWindow.messageWindow.show()
|
||||||
ShowTextTipsWindow.messageWindow.resize(ShowTextTipsWindow.messageWindow.frameSize().width() * 2, ShowTextTipsWindow.messageWindow.frameSize().height() * 1.5)
|
ShowTextTipsWindow.messageWindow.resize(int(ShowTextTipsWindow.messageWindow.frameSize().width() * 2), int(ShowTextTipsWindow.messageWindow.frameSize().height() * 1.5))
|
||||||
return
|
return
|
||||||
|
|
||||||
# 添加/删除 uengine 应用快捷方式
|
# 添加/删除 uengine 应用快捷方式
|
||||||
|
@ -1462,7 +1462,7 @@ class AddNewUengineDesktopLink():
|
||||||
# 添加快捷方式
|
# 添加快捷方式
|
||||||
def SaveDesktopLink():
|
def SaveDesktopLink():
|
||||||
try:
|
try:
|
||||||
if os.path.exists("{}/.local/share/applications/uengine/{}.desktop".format(get_home(), packageName.text())):
|
if os.path.exists("{}/{}.desktop".format(desktopFilePath, packageName.text())):
|
||||||
if QtWidgets.QMessageBox.question(widget, "提示", "文件已存在,是否要覆盖?") == QtWidgets.QMessageBox.No:
|
if QtWidgets.QMessageBox.question(widget, "提示", "文件已存在,是否要覆盖?") == QtWidgets.QMessageBox.No:
|
||||||
return
|
return
|
||||||
if not os.path.exists("{}/.local/share/icons/hicolor/256x256/apps/".format(get_home())):
|
if not os.path.exists("{}/.local/share/icons/hicolor/256x256/apps/".format(get_home())):
|
||||||
|
@ -1471,7 +1471,7 @@ class AddNewUengineDesktopLink():
|
||||||
iconSavePath = "{}/.local/share/icons/hicolor/256x256/apps/{}.png".format(get_home(), packageName.text())
|
iconSavePath = "{}/.local/share/icons/hicolor/256x256/apps/{}.png".format(get_home(), packageName.text())
|
||||||
shutil.copy(programPath + "/defult.png", iconSavePath)
|
shutil.copy(programPath + "/defult.png", iconSavePath)
|
||||||
BuildUengineDesktop(packageName.text(), activityName.text(), packageName.text(), iconSavePath,
|
BuildUengineDesktop(packageName.text(), activityName.text(), packageName.text(), iconSavePath,
|
||||||
"{}/.local/share/applications/uengine/{}.desktop".format(get_home(), packageName.text()))
|
"{}/{}.desktop".format(desktopFilePath, packageName.text()))
|
||||||
BuildUengineDesktop(packageName.text(), activityName.text(), packageName.text(), iconSavePath,
|
BuildUengineDesktop(packageName.text(), activityName.text(), packageName.text(), iconSavePath,
|
||||||
"{}/{}.desktop".format(get_desktop_path(), packageName.text()))
|
"{}/{}.desktop".format(get_desktop_path(), packageName.text()))
|
||||||
AddNewUengineDesktopLink.SaveHistory()
|
AddNewUengineDesktopLink.SaveHistory()
|
||||||
|
@ -1485,13 +1485,13 @@ class AddNewUengineDesktopLink():
|
||||||
def DelDesktopLink():
|
def DelDesktopLink():
|
||||||
try:
|
try:
|
||||||
global packageName
|
global packageName
|
||||||
if not os.path.exists("{}/.local/share/applications/uengine/{}.desktop".format(get_home(), packageName.text())):
|
if not os.path.exists("{}/{}.desktop".format(desktopFilePath, packageName.text())):
|
||||||
QtWidgets.QMessageBox.critical(widget, "错误", "此包名对应的 UEngine 桌面快捷方式不存在!")
|
QtWidgets.QMessageBox.critical(widget, "错误", "此包名对应的 UEngine 快捷方式不存在!")
|
||||||
return
|
return
|
||||||
if QtWidgets.QMessageBox.warning(widget, "警告", "你确定要删除吗?删除后将无法恢复!", QtWidgets.QMessageBox.Ok | QtWidgets.QMessageBox.Cancel, QtWidgets.QMessageBox.Cancel) == QtWidgets.QMessageBox.Cancel:
|
if QtWidgets.QMessageBox.warning(widget, "警告", "你确定要删除吗?删除后将无法恢复!", QtWidgets.QMessageBox.Ok | QtWidgets.QMessageBox.Cancel, QtWidgets.QMessageBox.Cancel) == QtWidgets.QMessageBox.Cancel:
|
||||||
return
|
return
|
||||||
try:
|
try:
|
||||||
os.remove("{}/.local/share/applications/uengine/{}.desktop".format(get_home(), packageName.text()))
|
os.remove("{}/{}.desktop".format(desktopFilePath, packageName.text()))
|
||||||
AddNewUengineDesktopLink.SaveHistory()
|
AddNewUengineDesktopLink.SaveHistory()
|
||||||
QtWidgets.QMessageBox.information(widget, "提示", "已删除")
|
QtWidgets.QMessageBox.information(widget, "提示", "已删除")
|
||||||
except:
|
except:
|
||||||
|
@ -1585,8 +1585,7 @@ goodRunSystem = information["System"]
|
||||||
aaptVersion = GetCommandReturn(f"'{programPath}/aapt/run-aapt.sh' version")
|
aaptVersion = GetCommandReturn(f"'{programPath}/aapt/run-aapt.sh' version")
|
||||||
SystemVersion = GetSystemVersion()
|
SystemVersion = GetSystemVersion()
|
||||||
iconPath = "{}/runner.svg".format(os.path.split(os.path.realpath(__file__))[0])
|
iconPath = "{}/runner.svg".format(os.path.split(os.path.realpath(__file__))[0])
|
||||||
about = f'''<p align="center"><img width=256 src="{iconPath}"/></p>
|
about = f'''<p>介绍:虽然通过Deepin/UOS应用商店已经能够安装部分安卓应用,但对于安卓应用爱好者来说,不能自由地安装任意APK软件包实在是不尽如人意。本软件可以实现在Deepin/UOS上安装任意APK软件包,并能将其启动图标发送到系统桌面或启动器中,方便用户快速启动它。 </p>
|
||||||
<p>介绍:虽然通过Deepin/UOS应用商店已经能够安装部分安卓应用,但对于安卓应用爱好者来说,不能自由地安装任意APK软件包实在是不尽如人意。本软件可以实现在Deepin/UOS上安装任意APK软件包,并能将其启动图标发送到系统桌面或启动器中,方便用户快速启动它。 </p>
|
|
||||||
<p>程序开源许可证:GPLV3</p>
|
<p>程序开源许可证:GPLV3</p>
|
||||||
<p>版本:{version}</p>
|
<p>版本:{version}</p>
|
||||||
<p>适用平台:{goodRunSystem}</p>
|
<p>适用平台:{goodRunSystem}</p>
|
||||||
|
@ -1594,10 +1593,22 @@ about = f'''<p align="center"><img width=256 src="{iconPath}"/></p>
|
||||||
<p>程序官网:{programUrl}</p>
|
<p>程序官网:{programUrl}</p>
|
||||||
<p>系统版本:{SystemVersion}</p>
|
<p>系统版本:{SystemVersion}</p>
|
||||||
<p>安装包构建时间:{information['Time']}</p>
|
<p>安装包构建时间:{information['Time']}</p>
|
||||||
|
<p>QQ 交流群:872491938</p>
|
||||||
<h1>©2021-{time.strftime("%Y")} gfdgd xi</h1>'''
|
<h1>©2021-{time.strftime("%Y")} gfdgd xi</h1>'''
|
||||||
updateThingsString = ""
|
updateThingsString = ""
|
||||||
tips = ""
|
tips = ""
|
||||||
contribute = ""
|
contribute = ""
|
||||||
|
appreciate = f"""<h3>请作者喝杯茶</h3>
|
||||||
|
<p>如果您觉得 UEngine 运行器对你有帮助,可以请作者喝杯茶 </p>
|
||||||
|
<p>
|
||||||
|
<img src="{programPath}/Icon/QR/Wechat.png" width="250" />
|
||||||
|
<img src="{programPath}/Icon/QR/Alipay.jpg" width="250" />
|
||||||
|
<img src="{programPath}/Icon/QR/QQ.png" width="250" >
|
||||||
|
</p>
|
||||||
|
<hr/>
|
||||||
|
<h3>广告</h3>
|
||||||
|
<p>支付宝官方活动,扫描获得支付红包!</p>
|
||||||
|
<p><img src="{programPath}/Icon/QR/advertisement0.jpg" width="250" ></p>"""
|
||||||
for i in information["Tips"]:
|
for i in information["Tips"]:
|
||||||
tips += f"<p>{i}</p>"
|
tips += f"<p>{i}</p>"
|
||||||
for i in information["Update"]:
|
for i in information["Update"]:
|
||||||
|
@ -1611,13 +1622,25 @@ desktop = programPath + "/UengineAndroidProgramList.desktop"
|
||||||
desktopName = "UengineAndroidProgramList.desktop"
|
desktopName = "UengineAndroidProgramList.desktop"
|
||||||
useProgram = ""
|
useProgram = ""
|
||||||
threading.Thread(target=UseProgram).start()
|
threading.Thread(target=UseProgram).start()
|
||||||
|
isDeepin23=False
|
||||||
|
# 判断是不是 Deepin23
|
||||||
|
if os.path.exists("/etc/deepin_version"):
|
||||||
|
try:
|
||||||
|
with open(f"/etc/deepin_version") as file:
|
||||||
|
isDeepin23 = "23" in file.read()
|
||||||
|
except:
|
||||||
|
traceback.print_exc()
|
||||||
|
desktopFilePath = f"{get_home()}/.local/share/applications/uengine/"
|
||||||
|
if isDeepin23:
|
||||||
|
desktopFilePath = f"{get_home()}/.local/share/applications/"
|
||||||
|
|
||||||
|
|
||||||
###########################
|
###########################
|
||||||
# 加载配置
|
# 加载配置
|
||||||
###########################
|
###########################
|
||||||
app = QtWidgets.QApplication(sys.argv)
|
app = QtWidgets.QApplication(sys.argv)
|
||||||
if not os.path.exists("{}/.local/share/applications/uengine/".format(get_home())):
|
if not os.path.exists(desktopFilePath):
|
||||||
os.makedirs("{}/.local/share/applications/uengine/".format(get_home()))
|
os.makedirs(desktopFilePath)
|
||||||
if not os.path.exists(get_home() + "/.config/uengine-runner"): # 如果没有配置文件夹
|
if not os.path.exists(get_home() + "/.config/uengine-runner"): # 如果没有配置文件夹
|
||||||
os.makedirs(get_home() + "/.config/uengine-runner") # 创建配置文件夹
|
os.makedirs(get_home() + "/.config/uengine-runner") # 创建配置文件夹
|
||||||
if not os.path.exists(get_home() + "/.config/uengine-runner/FindApkHistory.json"): # 如果没有配置文件
|
if not os.path.exists(get_home() + "/.config/uengine-runner/FindApkHistory.json"): # 如果没有配置文件
|
||||||
|
@ -1745,7 +1768,16 @@ def showhelp():
|
||||||
def ChgLog():
|
def ChgLog():
|
||||||
HelpStr.setHtml(updateThingsString)
|
HelpStr.setHtml(updateThingsString)
|
||||||
def ChgAbout(event):
|
def ChgAbout(event):
|
||||||
HelpStr.setHtml(about)
|
HelpStr.setHtml(f"<p align='center'><a href='https://www.gfdgdxi.top/ChangeIcon'><img width=256 src='{iconPath}'/></a></p>\n" + about)
|
||||||
|
def OpenUrl(url):
|
||||||
|
print(url.url())
|
||||||
|
if url.url() == "https://www.gfdgdxi.top/ChangeIcon":
|
||||||
|
ChgAboutChangeIcon()
|
||||||
|
return
|
||||||
|
webbrowser.open_new_tab(url.url())
|
||||||
|
|
||||||
|
def ChgAboutChangeIcon():
|
||||||
|
HelpStr.setHtml(f"<p align='center'><img width=256 src='{programPath}/Icon/Program/about-icon.png'/></p>\n" + about)
|
||||||
def ChgDep():
|
def ChgDep():
|
||||||
if useProgram == "":
|
if useProgram == "":
|
||||||
BtnZujian.setDisabled(True)
|
BtnZujian.setDisabled(True)
|
||||||
|
@ -1755,7 +1787,8 @@ def showhelp():
|
||||||
HelpStr.setHtml(contribute)
|
HelpStr.setHtml(contribute)
|
||||||
def ChgTips():
|
def ChgTips():
|
||||||
HelpStr.setHtml(tips)
|
HelpStr.setHtml(tips)
|
||||||
|
def ChgAppreciate():
|
||||||
|
HelpStr.setHtml(appreciate)
|
||||||
def ChgGPLV3():
|
def ChgGPLV3():
|
||||||
try:
|
try:
|
||||||
with open(f"{programPath}/LICENSE", "r") as file:
|
with open(f"{programPath}/LICENSE", "r") as file:
|
||||||
|
@ -1778,7 +1811,12 @@ def showhelp():
|
||||||
BtnDownN = QtWidgets.QPushButton("程序下载量")
|
BtnDownN = QtWidgets.QPushButton("程序下载量")
|
||||||
BtnOpenN = QtWidgets.QPushButton("程序打开量")
|
BtnOpenN = QtWidgets.QPushButton("程序打开量")
|
||||||
BtnGPLV3 = QtWidgets.QPushButton("程序开源许可证")
|
BtnGPLV3 = QtWidgets.QPushButton("程序开源许可证")
|
||||||
|
appreciateButton = QtWidgets.QPushButton("赞赏作者")
|
||||||
HelpStr = QtWidgets.QTextBrowser()
|
HelpStr = QtWidgets.QTextBrowser()
|
||||||
|
HelpStr.setOpenLinks(False)
|
||||||
|
HelpStr.setHtml(about)
|
||||||
|
HelpStr.setOpenExternalLinks(False)
|
||||||
|
HelpStr.anchorClicked.connect(OpenUrl)
|
||||||
# 此功能从 2.0.0 后不再隐藏
|
# 此功能从 2.0.0 后不再隐藏
|
||||||
#BtnDownN.setEnabled("--彩蛋" in sys.argv)
|
#BtnDownN.setEnabled("--彩蛋" in sys.argv)
|
||||||
BtnReadme.clicked.connect(ChgTips)
|
BtnReadme.clicked.connect(ChgTips)
|
||||||
|
@ -1789,6 +1827,7 @@ def showhelp():
|
||||||
BtnDownN.clicked.connect(Download)
|
BtnDownN.clicked.connect(Download)
|
||||||
BtnGPLV3.clicked.connect(ChgGPLV3)
|
BtnGPLV3.clicked.connect(ChgGPLV3)
|
||||||
BtnOpenN.clicked.connect(Open)
|
BtnOpenN.clicked.connect(Open)
|
||||||
|
appreciateButton.clicked.connect(ChgAppreciate)
|
||||||
|
|
||||||
ChgTips()
|
ChgTips()
|
||||||
|
|
||||||
|
@ -1799,14 +1838,18 @@ def showhelp():
|
||||||
helpLayout.addWidget(BtnDownN, 4, 0, 1, 1)
|
helpLayout.addWidget(BtnDownN, 4, 0, 1, 1)
|
||||||
helpLayout.addWidget(BtnOpenN, 5, 0, 1, 1)
|
helpLayout.addWidget(BtnOpenN, 5, 0, 1, 1)
|
||||||
helpLayout.addWidget(BtnGPLV3, 6, 0, 1, 1)
|
helpLayout.addWidget(BtnGPLV3, 6, 0, 1, 1)
|
||||||
helpLayout.addWidget(BtnAbout, 7, 0, 1, 1)
|
helpLayout.addWidget(appreciateButton, 7, 0, 1, 1)
|
||||||
helpLayout.addWidget(HelpStr, 0, 1, 10, 1)
|
helpLayout.addWidget(BtnAbout, 8, 0, 1, 1)
|
||||||
|
helpLayout.addWidget(HelpStr, 0, 1, 11, 1)
|
||||||
|
|
||||||
helpWidget.setLayout(helpLayout)
|
helpWidget.setLayout(helpLayout)
|
||||||
helpWindow.setCentralWidget(helpWidget)
|
helpWindow.setCentralWidget(helpWidget)
|
||||||
helpWindow.setFixedSize(int(helpWindow.frameSize().width() * 0.9), int(helpWindow.frameSize().height() * 1.5))
|
helpWindow.setFixedSize(int(helpWindow.frameSize().width() * 0.9), int(helpWindow.frameSize().height() * 1.5))
|
||||||
helpWindow.setWindowTitle("帮助")
|
helpWindow.setWindowTitle("帮助")
|
||||||
helpWindow.setWindowIcon(QtGui.QIcon(iconPath))
|
helpWindow.setWindowIcon(QtGui.QIcon(iconPath))
|
||||||
|
# 设置背景
|
||||||
|
helpWindow.setObjectName("helpWindow")
|
||||||
|
helpWindow.setStyleSheet(f"QWidget#helpWindow {{background: url({programPath}/Icon/Program/about-background.png) no-repeat;background-position: left bottom;}}")
|
||||||
helpWindow.show()
|
helpWindow.show()
|
||||||
return
|
return
|
||||||
|
|
||||||
|
@ -1816,6 +1859,9 @@ def showhelp():
|
||||||
if not os.path.exists("/usr/bin/uengine"):
|
if not os.path.exists("/usr/bin/uengine"):
|
||||||
# Deepin/UOS 用户
|
# Deepin/UOS 用户
|
||||||
if "deepin" in SystemVersion.lower() or "uos" in SystemVersion.lower() or subprocess.getoutput("arch").replace("\n", "").replace(" ", "") != "x86_64":
|
if "deepin" in SystemVersion.lower() or "uos" in SystemVersion.lower() or subprocess.getoutput("arch").replace("\n", "").replace(" ", "") != "x86_64":
|
||||||
|
if not "ft-" in GetCommandReturn("lscpu").lower() and GetCommandReturn("lscpu").replace(" ", "").replace("\n", "") == "aarch64":
|
||||||
|
QtWidgets.QMessageBox.critical(None, "错误", "UEngine 运行器不支持非飞腾 CPU")
|
||||||
|
sys.exit(1)
|
||||||
if QtWidgets.QMessageBox.question(None, "提示", "您的电脑没有安装 UEngine,是否安装 UEngine 以便更好的使用\n安装完后重新启动该程序即可") == QtWidgets.QMessageBox.Yes:
|
if QtWidgets.QMessageBox.question(None, "提示", "您的电脑没有安装 UEngine,是否安装 UEngine 以便更好的使用\n安装完后重新启动该程序即可") == QtWidgets.QMessageBox.Yes:
|
||||||
OpenTerminal(f"pkexec apt install uengine -y")
|
OpenTerminal(f"pkexec apt install uengine -y")
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
|
|
|
@ -13,11 +13,6 @@ else
|
||||||
echo "系统:$version"
|
echo "系统:$version"
|
||||||
if [ "$versionLower" = "deepin" ] || [ "$versionLower" = "uos" ]; then
|
if [ "$versionLower" = "deepin" ] || [ "$versionLower" = "uos" ]; then
|
||||||
echo "此系统为 Deepin/UOS,使用 apt 安装"
|
echo "此系统为 Deepin/UOS,使用 apt 安装"
|
||||||
lscpu | grep "FT-"
|
|
||||||
if [[ $? != 0 ]] && [[ `arch` == "aarch64" ]]; then
|
|
||||||
zenity --info --text="UEngine 运行器暂不支持非飞腾CPU"
|
|
||||||
exit
|
|
||||||
fi
|
|
||||||
zenity --question --text="您还未安装 UEngine,是否现在安装?" --no-wrap
|
zenity --question --text="您还未安装 UEngine,是否现在安装?" --no-wrap
|
||||||
if [[ $? == 0 ]]; then
|
if [[ $? == 0 ]]; then
|
||||||
"$dir/launch.sh" deepin-terminal -C "pkexec apt install uengine -y"
|
"$dir/launch.sh" deepin-terminal -C "pkexec apt install uengine -y"
|
||||||
|
|
Loading…
Reference in New Issue