修复奇怪问题

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 Help new-deb-build/opt/apps/com.gitee.uengine.runner.spark/files/
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
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.ImageDraw as ImageDraw
import xml.etree.ElementTree as ET
import zipfile
import subprocess
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():
'''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):
cmddumpid = "aapt dump xmltree "+ apkFilePath + " " + xmlpath
@ -70,18 +110,37 @@ class getsavexml():
return imgpath
# 获取到文件列表后,进行比较分辨率,选取分辨率最高的张图片
iconbackpath = getmaxsize(backimgs)
iconforepath = getmaxsize(foreimgs)
print(iconbackpath + " " + iconforepath)
# /home/gfdgd_xi/Downloads/MT2.12.2.apk
try:
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文件获取最终图片
zipapk = zipfile.ZipFile(apkFilePath)
iconback = zipapk.open(iconbackpath)
iconfore = zipapk.open(iconforepath)
try:
iconback = zipapk.open(iconbackpath)
except:
iconback = None
try:
iconfore = zipapk.open(iconforepath)
except:
iconfore = None
# 叠加图片mask 设置前景为蒙版
iconbackimg = Image.open(iconback).convert("RGBA")
try:
iconbackimg = Image.open(iconback).convert("RGBA")
except:
pass
iconforeimg = Image.open(iconfore).convert("RGBA")
iconbackimg.paste(iconforeimg,mask=iconforeimg)

View File

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

View File

@ -1,22 +1,17 @@
Package: com.gitee.uengine.runner.spark
Source: com.gitee.uengine.runner.spark
Replaces: spark-uengine-runner, com.gitee.uengine.runner.spark.ubuntu
Version: 1.8.3-spark
Version: 1.8.3
Architecture: all
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>
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)
Priority: optional
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]
Description: UEngine 运行器1.8.2 更新内容:
※1、重新恢复 uengine-installer For Ubuntu
※2、修复 postrm 的问题
※3、修复“添加UEngine应用快捷方式出现问题”的问题
※4、修复打包器无参数问题
※5、打包器默认勾选“使用 uengine-dc 前缀”
6、修复Python主版本号判断时潜在的问题By Bail
7、新增部分资源入口
Description: UEngine 运行器1.8.3 更新内容:
※1、修复安装/打包程序时出现找不到图标的问题;
※2、修复部分无法正确获取程序中文名和 Activity 的问题
开发/参与者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
# 使用 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
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-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 的问题,省略
gtk-update-icon-cache /usr/share/icons/bloom > /dev/null | true
# 向服务器返回安装数加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.ImageDraw as ImageDraw
import xml.etree.ElementTree as ET
import zipfile
import subprocess
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():
'''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):
cmddumpid = "aapt dump xmltree "+ apkFilePath + " " + xmlpath
@ -70,18 +110,37 @@ class getsavexml():
return imgpath
# 获取到文件列表后,进行比较分辨率,选取分辨率最高的张图片
iconbackpath = getmaxsize(backimgs)
iconforepath = getmaxsize(foreimgs)
print(iconbackpath + " " + iconforepath)
# /home/gfdgd_xi/Downloads/MT2.12.2.apk
try:
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文件获取最终图片
zipapk = zipfile.ZipFile(apkFilePath)
iconback = zipapk.open(iconbackpath)
iconfore = zipapk.open(iconforepath)
try:
iconback = zipapk.open(iconbackpath)
except:
iconback = None
try:
iconfore = zipapk.open(iconforepath)
except:
iconfore = None
# 叠加图片mask 设置前景为蒙版
iconbackimg = Image.open(iconback).convert("RGBA")
try:
iconbackimg = Image.open(iconback).convert("RGBA")
except:
pass
iconforeimg = Image.open(iconfore).convert("RGBA")
iconbackimg.paste(iconforeimg,mask=iconforeimg)

View File

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

View File

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

View File

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