修复奇怪问题

This commit is contained in:
gfdgd xi 2022-12-18 18:00:19 +08:00
parent 1d7bd94908
commit 33be2db48f
18 changed files with 185 additions and 32 deletions

5
Download.py Executable file
View File

@ -0,0 +1,5 @@
#!/usr/bin/env python3
import sys
import base64
import requests
print(requests.get(base64.b64decode("aHR0cDovLzEyMC4yNS4xNTMuMTQ0L3VlbmdpbmUtcnVubmVyL0luc3RhbGwucGhwP1ZlcnNpb249").decode("utf-8") + sys.argv[1]).text)

View File

@ -31,6 +31,7 @@ build:
cp -rv api new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/ cp -rv api new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
cp -rv Help new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/ cp -rv Help new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
cp -rv pkexec/* new-deb-build/usr/share/polkit-1/actions cp -rv pkexec/* new-deb-build/usr/share/polkit-1/actions
python3 RemovePycacheFile.py
dpkg -b new-deb-build com.gitee.uengine.runner.spark.deb dpkg -b new-deb-build com.gitee.uengine.runner.spark.deb
install: install:

13
RemovePycacheFile.py Executable file
View File

@ -0,0 +1,13 @@
#!/usr/bin/env python3
import os
def Remove(path):
for i in os.listdir(path):
nowPath = f"{path}/{i}"
if os.path.isdir(nowPath):
if i == "__pycache__":
os.system(f"rm -rfv '{nowPath}'")
else:
Remove(nowPath)
programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
debPath = f"{programPath}/new-deb-build"
Remove(debPath)

Binary file not shown.

Binary file not shown.

View File

@ -1,10 +1,50 @@
import PIL.Image as Image import PIL.Image as Image
import PIL.ImageDraw as ImageDraw import PIL.ImageDraw as ImageDraw
import xml.etree.ElementTree as ET
import zipfile import zipfile
import subprocess import subprocess
import re import re
#!/usr/bin/env python
# -*- coding: utf-8 -*-
'''import xml.etree.ElementTree as ET
def xml2svg(xml_file):
tree = ET.parse(xml_file)
root = tree.getroot()
svg_str = '<svg>'
for child in root:
svg_str += '<' + child.tag
for attr in child.attrib:
svg_str += ' ' + attr + '="' + child.attrib[attr] + '"'
svg_str += '>'
for sub_child in child:
svg_str += '<' + sub_child.tag
for attr in sub_child.attrib:
svg_str += ' ' + attr + '="' + sub_child.attrib[attr] + '"'
svg_str += '/>'
svg_str += '</' + child.tag + '>'
svg_str += '</svg>'
return svg_str'''
class getsavexml(): class getsavexml():
'''def xml2svg(xml_file):
tree = ET.parse(xml_file)
root = tree.getroot()
svg_str = '<svg>'
for child in root:
svg_str += '<' + child.tag
for attr in child.attrib:
svg_str += ' ' + attr + '="' + child.attrib[attr] + '"'
svg_str += '>'
for sub_child in child:
svg_str += '<' + sub_child.tag
for attr in sub_child.attrib:
svg_str += ' ' + attr + '="' + sub_child.attrib[attr] + '"'
svg_str += '/>'
svg_str += '</' + child.tag + '>'
svg_str += '</svg>'
return svg_str'''
def savexml(self,apkFilePath,xmlpath,iconSavePath): def savexml(self,apkFilePath,xmlpath,iconSavePath):
cmddumpid = "aapt dump xmltree "+ apkFilePath + " " + xmlpath cmddumpid = "aapt dump xmltree "+ apkFilePath + " " + xmlpath
@ -70,18 +110,37 @@ class getsavexml():
return imgpath return imgpath
# 获取到文件列表后,进行比较分辨率,选取分辨率最高的张图片 # 获取到文件列表后,进行比较分辨率,选取分辨率最高的张图片
iconbackpath = getmaxsize(backimgs) # /home/gfdgd_xi/Downloads/MT2.12.2.apk
iconforepath = getmaxsize(foreimgs) try:
print(iconbackpath + " " + iconforepath) iconbackpath = getmaxsize(backimgs)
iconforepath = getmaxsize(foreimgs)
except:
if len(backimgs):
iconbackpath = backimgs[0]
else:
iconbackpath = ""
if len(foreimgs):
iconforepath = foreimgs[0]
else:
iconforepath = ""
print(iconbackpath, iconforepath)
#从APK文件获取最终图片 #从APK文件获取最终图片
zipapk = zipfile.ZipFile(apkFilePath) zipapk = zipfile.ZipFile(apkFilePath)
iconback = zipapk.open(iconbackpath) try:
iconfore = zipapk.open(iconforepath) iconback = zipapk.open(iconbackpath)
except:
iconback = None
try:
iconfore = zipapk.open(iconforepath)
except:
iconfore = None
# 叠加图片mask 设置前景为蒙版 # 叠加图片mask 设置前景为蒙版
iconbackimg = Image.open(iconback).convert("RGBA") try:
iconbackimg = Image.open(iconback).convert("RGBA")
except:
pass
iconforeimg = Image.open(iconfore).convert("RGBA") iconforeimg = Image.open(iconfore).convert("RGBA")
iconbackimg.paste(iconforeimg,mask=iconforeimg) iconbackimg.paste(iconforeimg,mask=iconforeimg)

View File

@ -5,7 +5,7 @@
"https://github.com/gfdgd-xi/uengine-runner", "https://github.com/gfdgd-xi/uengine-runner",
"https://gitlink.org.cn/gfdgd_xi/uengine-runner" "https://gitlink.org.cn/gfdgd_xi/uengine-runner"
], ],
"Version": "1.8.2", "Version": "1.8.3",
"System": "Linuxdeepin/UOS", "System": "Linuxdeepin/UOS",
"Tips": [ "Tips": [
"更多可见https://gitee.com/gfdgd-xi/uengine-runner/wikis 或程序的更多帮助", "更多可见https://gitee.com/gfdgd-xi/uengine-runner/wikis 或程序的更多帮助",

View File

@ -1,22 +1,17 @@
Package: com.gitee.uengine.runner.spark Package: com.gitee.uengine.runner.spark
Source: com.gitee.uengine.runner.spark Source: com.gitee.uengine.runner.spark
Replaces: spark-uengine-runner, com.gitee.uengine.runner.spark.ubuntu Replaces: spark-uengine-runner, com.gitee.uengine.runner.spark.ubuntu
Version: 1.8.3-spark Version: 1.8.3
Architecture: all Architecture: all
Section: utils Section: utils
Installed-Size: 1600 Installed-Size: 1636
Maintainer: gfdgd xi <3025613752@qq.com>, actionchen<917981399@qq.com>, 柚子<https://gitee.com/Limexb>, 为什么您不喜欢熊出没和阿布呢<https://weibo.com/u/7755040136>, 星空露光<https://gitee.com/Cynorkyle>, shenmo<jifengshenmo@outlook.com> Maintainer: gfdgd xi <3025613752@qq.com>, actionchen<917981399@qq.com>, 柚子<https://gitee.com/Limexb>, 为什么您不喜欢熊出没和阿布呢<https://weibo.com/u/7755040136>, 星空露光<https://gitee.com/Cynorkyle>, shenmo<jifengshenmo@outlook.com>
Depends: python3, python3-tk, python3-pip, aapt, python3-setuptools, deepin-terminal, curl, python3-pil, python3-requests, adb, fonts-noto-cjk, python3-numpy, wget, inotify-tools, aria2, python3-pyqt5, python3-matplotlib, python3-urllib3 Depends: python3, python3-tk, python3-pip, aapt, python3-setuptools, deepin-terminal, curl, python3-pil, python3-requests, adb, fonts-noto-cjk, python3-numpy, wget, inotify-tools, aria2, python3-pyqt5, python3-matplotlib, python3-urllib3
Recommends: uengine, deepin-elf-verify (>= 0.0.16.7-1) Recommends: uengine, deepin-elf-verify (>= 0.0.16.7-1)
Priority: optional Priority: optional
Conflicts: spark-uengine-apk-builder, com.gitee.uengine.runner.spark.ubuntu Conflicts: spark-uengine-apk-builder, com.gitee.uengine.runner.spark.ubuntu
Homepage: [https://gitee.com/gfdgd-xi/uengine-runner, https://github.com/gfdgd-xi/uengine-runner, https://www.gitlink.org.cn/gfdgd_xi/uengine-runner] Homepage: [https://gitee.com/gfdgd-xi/uengine-runner, https://github.com/gfdgd-xi/uengine-runner, https://www.gitlink.org.cn/gfdgd_xi/uengine-runner]
Description: UEngine 运行器1.8.2 更新内容: Description: UEngine 运行器1.8.3 更新内容:
※1、重新恢复 uengine-installer For Ubuntu ※1、修复安装/打包程序时出现找不到图标的问题;
※2、修复 postrm 的问题 ※2、修复部分无法正确获取程序中文名和 Activity 的问题
※3、修复“添加UEngine应用快捷方式出现问题”的问题
※4、修复打包器无参数问题
※5、打包器默认勾选“使用 uengine-dc 前缀”
6、修复Python主版本号判断时潜在的问题By Bail
7、新增部分资源入口
开发/参与者gfdgd xi <3025613752@qq.com>, actionchen<917981399@qq.com>, 柚子<https://gitee.com/Limexb>, 为什么您不喜欢熊出没和阿布呢<https://weibo.com/u/7755040136>, 星空露光<https://gitee.com/Cynorkyle>, shenmo<jifengshenmo@outlook.com> 开发/参与者gfdgd xi <3025613752@qq.com>, actionchen<917981399@qq.com>, 柚子<https://gitee.com/Limexb>, 为什么您不喜欢熊出没和阿布呢<https://weibo.com/u/7755040136>, 星空露光<https://gitee.com/Cynorkyle>, shenmo<jifengshenmo@outlook.com>

View File

@ -1,9 +1,11 @@
#!/bin/sh #!/bin/sh
# 使用 pip 安装所需库 # 使用 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 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 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 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 keyboard --trusted-host https://repo.huaweicloud.com -i https://repo.huaweicloud.com/repository/pypi/simple
echo 执行完成
# 建立软链接 # 建立软链接
ln -s /opt/apps/com.gitee.uengine.runner.spark/files/uengine-runner /usr/bin/uengine-runner ln -s /opt/apps/com.gitee.uengine.runner.spark/files/uengine-runner /usr/bin/uengine-runner
ln -s /opt/apps/com.gitee.uengine.runner.spark/files/uengine-apk-builder /usr/bin/uengine-apk-builder ln -s /opt/apps/com.gitee.uengine.runner.spark/files/uengine-apk-builder /usr/bin/uengine-apk-builder
@ -21,4 +23,4 @@ ln -s /opt/apps/com.gitee.uengine.runner.spark/files/uengine-runner-applist-laun
# 因为 Ubuntu 的问题,省略 # 因为 Ubuntu 的问题,省略
gtk-update-icon-cache /usr/share/icons/bloom > /dev/null | true gtk-update-icon-cache /usr/share/icons/bloom > /dev/null | true
# 向服务器返回安装数加1不显示内容且忽略错误 # 向服务器返回安装数加1不显示内容且忽略错误
curl https://304626p927.goho.co/uengine-runner/Install.php?Version=1.8.2 -s > /dev/null | true python3 /opt/apps/com.gitee.uengine.runner.spark/files/Download.py 1.8.3 > /dev/null | true

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

View File

@ -1,10 +1,50 @@
import PIL.Image as Image import PIL.Image as Image
import PIL.ImageDraw as ImageDraw import PIL.ImageDraw as ImageDraw
import xml.etree.ElementTree as ET
import zipfile import zipfile
import subprocess import subprocess
import re import re
#!/usr/bin/env python
# -*- coding: utf-8 -*-
'''import xml.etree.ElementTree as ET
def xml2svg(xml_file):
tree = ET.parse(xml_file)
root = tree.getroot()
svg_str = '<svg>'
for child in root:
svg_str += '<' + child.tag
for attr in child.attrib:
svg_str += ' ' + attr + '="' + child.attrib[attr] + '"'
svg_str += '>'
for sub_child in child:
svg_str += '<' + sub_child.tag
for attr in sub_child.attrib:
svg_str += ' ' + attr + '="' + sub_child.attrib[attr] + '"'
svg_str += '/>'
svg_str += '</' + child.tag + '>'
svg_str += '</svg>'
return svg_str'''
class getsavexml(): class getsavexml():
'''def xml2svg(xml_file):
tree = ET.parse(xml_file)
root = tree.getroot()
svg_str = '<svg>'
for child in root:
svg_str += '<' + child.tag
for attr in child.attrib:
svg_str += ' ' + attr + '="' + child.attrib[attr] + '"'
svg_str += '>'
for sub_child in child:
svg_str += '<' + sub_child.tag
for attr in sub_child.attrib:
svg_str += ' ' + attr + '="' + sub_child.attrib[attr] + '"'
svg_str += '/>'
svg_str += '</' + child.tag + '>'
svg_str += '</svg>'
return svg_str'''
def savexml(self,apkFilePath,xmlpath,iconSavePath): def savexml(self,apkFilePath,xmlpath,iconSavePath):
cmddumpid = "aapt dump xmltree "+ apkFilePath + " " + xmlpath cmddumpid = "aapt dump xmltree "+ apkFilePath + " " + xmlpath
@ -70,18 +110,37 @@ class getsavexml():
return imgpath return imgpath
# 获取到文件列表后,进行比较分辨率,选取分辨率最高的张图片 # 获取到文件列表后,进行比较分辨率,选取分辨率最高的张图片
iconbackpath = getmaxsize(backimgs) # /home/gfdgd_xi/Downloads/MT2.12.2.apk
iconforepath = getmaxsize(foreimgs) try:
print(iconbackpath + " " + iconforepath) iconbackpath = getmaxsize(backimgs)
iconforepath = getmaxsize(foreimgs)
except:
if len(backimgs):
iconbackpath = backimgs[0]
else:
iconbackpath = ""
if len(foreimgs):
iconforepath = foreimgs[0]
else:
iconforepath = ""
print(iconbackpath, iconforepath)
#从APK文件获取最终图片 #从APK文件获取最终图片
zipapk = zipfile.ZipFile(apkFilePath) zipapk = zipfile.ZipFile(apkFilePath)
iconback = zipapk.open(iconbackpath) try:
iconfore = zipapk.open(iconforepath) iconback = zipapk.open(iconbackpath)
except:
iconback = None
try:
iconfore = zipapk.open(iconforepath)
except:
iconfore = None
# 叠加图片mask 设置前景为蒙版 # 叠加图片mask 设置前景为蒙版
iconbackimg = Image.open(iconback).convert("RGBA") try:
iconbackimg = Image.open(iconback).convert("RGBA")
except:
pass
iconforeimg = Image.open(iconfore).convert("RGBA") iconforeimg = Image.open(iconfore).convert("RGBA")
iconbackimg.paste(iconforeimg,mask=iconforeimg) iconbackimg.paste(iconforeimg,mask=iconforeimg)

View File

@ -5,7 +5,7 @@
"https://github.com/gfdgd-xi/uengine-runner", "https://github.com/gfdgd-xi/uengine-runner",
"https://gitlink.org.cn/gfdgd_xi/uengine-runner" "https://gitlink.org.cn/gfdgd_xi/uengine-runner"
], ],
"Version": "1.8.2", "Version": "1.8.3",
"System": "Linuxdeepin/UOS", "System": "Linuxdeepin/UOS",
"Tips": [ "Tips": [
"更多可见https://gitee.com/gfdgd-xi/uengine-runner/wikis 或程序的更多帮助", "更多可见https://gitee.com/gfdgd-xi/uengine-runner/wikis 或程序的更多帮助",
@ -23,6 +23,10 @@
"5、如果想要使用adb连接UEngine或其他手机请使用 1.2.0 以前的版本。如需连接UEngine请安装adb补丁" "5、如果想要使用adb连接UEngine或其他手机请使用 1.2.0 以前的版本。如需连接UEngine请安装adb补丁"
], ],
"Update": [ "Update": [
"<b>V1.8.3</b>",
"※1、修复安装/打包程序时出现找不到图标的问题;",
"※2、修复部分无法正确获取程序中文名和 Activity 的问题",
"",
"<b>V1.8.2</b>", "<b>V1.8.2</b>",
"※1、重新恢复 uengine-installer For Ubuntu", "※1、重新恢复 uengine-installer For Ubuntu",
"※2、修复 postrm 的问题", "※2、修复 postrm 的问题",

View File

@ -293,6 +293,7 @@ def GetApkActivityName(apkFilePath):
line = line.replace("label=", "") line = line.replace("label=", "")
line = line.replace("icon=", "") line = line.replace("icon=", "")
return line return line
return f"{GetApkPackageName(apkFilePath)}.Main"
def GetApkPackageName(apkFilePath, setting): def GetApkPackageName(apkFilePath, setting):
# 提示:此函数有被为此程序适配而调整,如果需要最原始(无调整的)请使用主程序(此为附属组件)里的函数 # 提示:此函数有被为此程序适配而调整,如果需要最原始(无调整的)请使用主程序(此为附属组件)里的函数
@ -341,13 +342,20 @@ Type=Application
'''.format(packageName, activityName, showName, iconPath, showName, showName) '''.format(packageName, activityName, showName, iconPath, showName, showName)
write_txt(savePath, things) write_txt(savePath, things)
def GetApkChineseLabel(apkFilePath): # 获取软件的中文名称
def GetApkChineseLabel(apkFilePath)->"获取软件的中文名称":
info = GetApkInformation(apkFilePath) info = GetApkInformation(apkFilePath)
name = None
for line in info.split('\n'): for line in info.split('\n'):
if "application-label-zh:" in line:
line = line.replace("application-label-zh:", "")
line = line.replace("'", "")
return line
if "application-label:" in line: if "application-label:" in line:
line = line.replace("application-label:", "") line = line.replace("application-label:", "")
line = line.replace("'", "") line = line.replace("'", "")
return line name = line
return name
#合并两个函数到一起 #合并两个函数到一起
def SaveApkIcon(apkFilePath, iconSavePath)->"获取 apk 文件的图标": def SaveApkIcon(apkFilePath, iconSavePath)->"获取 apk 文件的图标":
@ -367,11 +375,11 @@ def SaveApkIcon(apkFilePath, iconSavePath)->"获取 apk 文件的图标":
saveIconFile.write(iconData) saveIconFile.write(iconData)
return return
print("Show defult icon") print("Show defult icon")
shutil.copy(programPath + "/defult.png", iconSavePath) shutil.copy(programPath + "/defult.svg", iconSavePath)
except: except:
traceback.print_exc() traceback.print_exc()
print("Error, show defult icon") print("Error, show defult icon")
shutil.copy(programPath + "/defult.png", iconSavePath) shutil.copy(programPath + "/defult.svg", iconSavePath)
def TextboxAddText1(message): def TextboxAddText1(message):
global textbox1 global textbox1

View File

@ -411,6 +411,7 @@ def GetApkActivityName(apkFilePath: "apk 所在路径")->"获取 apk Activity":
line = line.replace("label=", "") line = line.replace("label=", "")
line = line.replace("icon=", "") line = line.replace("icon=", "")
return line return line
return f"{GetApkPackageName(apkFilePath)}.Main"
# 获取 apk 包名 # 获取 apk 包名
def GetApkPackageName(apkFilePath: "apk 所在路径")->"获取 apk 包名": def GetApkPackageName(apkFilePath: "apk 所在路径")->"获取 apk 包名":
@ -483,11 +484,17 @@ Type=Application
# 获取软件的中文名称 # 获取软件的中文名称
def GetApkChineseLabel(apkFilePath)->"获取软件的中文名称": def GetApkChineseLabel(apkFilePath)->"获取软件的中文名称":
info = GetApkInformation(apkFilePath) info = GetApkInformation(apkFilePath)
name = None
for line in info.split('\n'): for line in info.split('\n'):
if "application-label-zh:" in line:
line = line.replace("application-label-zh:", "")
line = line.replace("'", "")
return line
if "application-label:" in line: if "application-label:" in line:
line = line.replace("application-label:", "") line = line.replace("application-label:", "")
line = line.replace("'", "") line = line.replace("'", "")
return line name = line
return name
# 保存apk图标 # 保存apk图标
def SaveApkIcon(apkFilePath, iconSavePath)->"保存 apk 文件的图标": def SaveApkIcon(apkFilePath, iconSavePath)->"保存 apk 文件的图标":