Compare commits

..

7 Commits
1.3.0 ... 1.3.2

Author SHA1 Message Date
d01423853a Merge branch 'main' of https://gitee.com/gfdgd-xi/uengine-runner into main 2021-08-12 15:12:49 +08:00
d486fa55d8 1.3.1 2021-08-12 15:12:13 +08:00
actionchen
73d1e3b484 update README.MD 2021-08-11 17:26:57 +08:00
ce52b8579a 加个说明 2021-08-10 21:27:10 +08:00
fcc37f707e 更新一下 README.md 2021-08-10 11:09:51 +08:00
908177b69d 更新一下 README.md 2021-08-10 11:09:35 +08:00
89702f681e 忘传了点东西 2021-08-08 22:08:06 +08:00
9 changed files with 109 additions and 59 deletions

View File

@@ -1,13 +1,18 @@
# uengine 运行器 1.3.0 # uengine 运行器 1.3.1
### 介绍 ### 介绍
新版本Deepin/UOS发布后可以在应用商店安装部分官方已适配的安卓应用对爱好者来说不能自己安装APK软件包始终差点意思本程序可以为Deepin/UOS上的Uengine安卓运行环境安装自定义APK软件包并能发送安装的APK包启动菜单到桌面或系统菜单。         新版本Deepin/UOS发布后可以在应用商店安装部分官方已适配的安卓应用对爱好者来说不能自己安装APK软件包始终差点意思本程序可以为Deepin/UOS上的Uengine安卓运行环境安装自定义APK软件包并能发送安装的APK包启动菜单到桌面或系统菜单。
![主界面](https://storage.deepin.org/thread/202108082100582804_截图_tk_20210808210047.png) ![主界面](https://storage.deepin.org/thread/202108082100582804_截图_tk_20210808210047.png)
测试平台UOS 家庭版deepin 20.2.2 测试平台UOS 家庭版deepin 20.2.2,UOS 专业版 1040
(自己美术功底太差,图标直接用 anbox 的了) (自己美术功底太差,图标直接用 anbox 的了)
### 更新内容 ### 更新内容
#### V1.3.1
**※1、修复打包问题防止部分用户安装出错的问题;**
**※2、修复了程序无法提取图标时可以提取默认图标使用;**
![1.3.1](https://storage.deepin.org/thread/202108121509217807_截图_选择区域_20210812150849.png)
#### V1.3.0 #### V1.3.0
**※1、修改了界面布局;** **※1、修改了界面布局;**
**※2、修复大多数新安装普通用户的路图标及启动菜单文件路径不存在导致安装APK报错的bugs;** **※2、修复大多数新安装普通用户的路图标及启动菜单文件路径不存在导致安装APK报错的bugs;**
@@ -41,7 +46,7 @@
![1.2.0](https://images.gitee.com/uploads/images/2021/0606/115536_0c0ddf38_7896131.png) ![1.2.0](https://images.gitee.com/uploads/images/2021/0606/115536_0c0ddf38_7896131.png)
### 源码安装教程 ### 源码安装教程
按下 <kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>T</kbd> 打开终端,按以下内容操作:
1. 安装所需依赖 1. 安装所需依赖
```bash ```bash
@@ -76,16 +81,27 @@ pip3 uninstall ttkthemes
### 使用说明 ### 使用说明
1、需要你有使用 root 权限的能力; 1、需要你有使用 root 权限的能力;
2、需要安装 uengine 才能使用; 2、需要安装 uengine 才能使用UOS建议在商店安装一个安卓应用让系统自动安装uengine及相关的依赖包
3、提取 apk 图标的 apk 路径以“安装 apk”那栏为准; 3、提取 apk 图标的 apk 路径以“安装 apk”那栏为准;
4、如果报错是有关产生 .deksotp 文件有关,一般可以打开程序列表运行。如果想要连接其他手机,请使用 1.2.0 以前的版本,可以使用 adb 连接。 4、如果报错是有关产生 .deksotp 文件有关,一般可以打开程序列表运行。如果想要连接其他手机,请使用 1.2.0 以前的版本,可以使用 adb 连接。
### 故障排除 ### 故障排除
提 isscue 最好,当然有些问题自己无法解决,请大佬 push 一下 提 issue 最好,当然有些问题自己无法解决,请大佬 push 一下
如果出现故障,尝试终端运行,如果是可以自行解决的问题,就**自行解决**,如果可以就**提 issues 并提供解决方案**,不行就**提 isscue 并提供程序和终端报错以及程序版本** 如果出现故障,尝试终端运行,如果是可以自行解决的问题,就**自行解决**,如果可以就**提 issues 并提供解决方案**,不行就**提 isscue 并提供程序和终端报错以及程序版本**
### 已知问题 ### 已知问题
暂未发现 ![Error](https://storage.deepin.org/thread/202108101105396531_截图___tk__messagebox_20210810110449.png)
部分 app 无法读取出图片,已知:
| 程序 | 下载链接 |
| :-: | :-: |
| Firefox For Android | https://www.firefox.com.cn/download/ |
| 网易云音乐 For Android | https://music.163.com/#/download |
| 抖音 | https://www.wandoujia.com/apps/7461948 |
| 360 手机浏览器 | https://mse.360.cn/ |
| E-Go | 忘了 |
| 其他待测试…… | 其他待测试…… |
**注意:提取不出图标不代表未安装成功!**
### 贡献 ### 贡献
我非常欢迎大家的贡献 我非常欢迎大家的贡献
@@ -100,3 +116,26 @@ pip3 uninstall ttkthemes
| :-: | :-:| | :-: | :-:|
| uengine-installer | https://gitee.com/Maicss/uengine-installer | | uengine-installer | https://gitee.com/Maicss/uengine-installer |
| uengine APK 打包器 | https://gitee.com/gfdgd-xi/uengine-apk-builder | | uengine APK 打包器 | https://gitee.com/gfdgd-xi/uengine-apk-builder |
### 附测试生成图标无问题列表:
**至于能不能用就不测试了,这暂时不是重点**
| 程序 | 下载链接 |
|:-:|:-:|
| QQ 全家桶完整版、极速版、Android Pad 版) | https://im.qq.com |
| TIM | 忘了 |
| 微信 | https://weixin.qq.com |
| 百度翻译 | 忘了 |
| 百度网盘 | https://pan.baidu.com |
| 腾讯课堂 | 忘了 |
| 抖音极速版 | 忘了 |
| 豌豆荚 | 忘了 |
| 小猿口算 | 忘了 |
| Hyperbowl | 忘了 |
| bilibili | https://d.bilibili.com/download_app.html?bsource=app_bili |
| 蓝奏云 | https://up.woozooo.com/lanzouh5.apk |
| QQ 音乐完整版、Android Pad 版、TV 版、车载版) | https://y.qq.com/download/index.html |
| 360 手机卫士(完整版、极速版) | https://shouji.360.cn/v6/index.html |
| 360 清理大师(稳定版、尝鲜版) | http://shouji.360.cn/360cleandroid/ |
| 360 手机助手 | http://sj.360.cn/index.html |
| WPS Office For Android | https://www.wps.cn/ |
| 钉钉 for android | https://page.dingtalk.com/wow/dingtalk/act/download?spm=a3140.8196062.0.0.6f4c5c3dWBhYUM |

Binary file not shown.

View File

@@ -1,9 +1,9 @@
Package: spark-uengine-runner Package: spark-uengine-runner
Version: 1.3.0 Version: 1.3.1
Maintainer: gfdgd xi <3025613752@qq.com> Maintainer: gfdgd xi <3025613752@qq.com>, actionchen<917981399@qq.com>
Homepage: https://gitee.com/gfdgd-xi/uengine-runner Homepage: https://gitee.com/gfdgd-xi/uengine-runner
Architecture: all Architecture: all
Priority: optional Priority: optional
Depends: python3, python3-tk, python3-pip, aapt, uengine Depends: python3, python3-tk, python3-pip, aapt, uengine, python3-pil, python3-setuptools
Description: gfdgd xi make's uengine runner Description: gfdgd xi make's uengine runner

Binary file not shown.

After

Width:  |  Height:  |  Size: 312 KiB

View File

@@ -341,6 +341,7 @@ def GetApkChineseLabel(apkFilePath)->"获取软件的中文名称":
#合并两个函数到一起 #合并两个函数到一起
def SaveApkIcon(apkFilePath, iconSavePath)->"获取 apk 文件的图标": def SaveApkIcon(apkFilePath, iconSavePath)->"获取 apk 文件的图标":
try:
info = GetApkInformation(apkFilePath) info = GetApkInformation(apkFilePath)
for line in info.split('\n'): for line in info.split('\n'):
if "application:" in line: if "application:" in line:
@@ -354,6 +355,10 @@ def SaveApkIcon(apkFilePath, iconSavePath)->"获取 apk 文件的图标":
iconData = zip.read(xmlpath) iconData = zip.read(xmlpath)
with open(iconSavePath, 'w+b') as saveIconFile: with open(iconSavePath, 'w+b') as saveIconFile:
saveIconFile.write(iconData) saveIconFile.write(iconData)
except:
traceback.print_exc()
print("Error, show defult icon")
shutil.copy(programPath + "/defult.png", iconSavePath)
def saveicon(): def saveicon():
global temppath global temppath
@@ -412,7 +417,7 @@ def get_home()->"获取用户主目录":
# 程序信息 # 程序信息
########################### ###########################
programUrl = "https://gitee.com/gfdgd-xi/uengine-runner" programUrl = "https://gitee.com/gfdgd-xi/uengine-runner"
version = "1.3.0" version = "1.3.1"
goodRunSystem = "Linuxdeepin/UOS" goodRunSystem = "Linuxdeepin/UOS"
aaptVersion = GetCommandReturn("aapt version") aaptVersion = GetCommandReturn("aapt version")
about = ''' 一个基于 Python3 的 tkinter 制作的 uengine APK 安装器 about = ''' 一个基于 Python3 的 tkinter 制作的 uengine APK 安装器
@@ -449,7 +454,11 @@ tips = ''' 新版本Deepin/UOS发布后可以在应用商店安装部分
4、如果报错是有关产生 .deksotp 文件有关,一般可以打开程序列表运行。如果想要连接其他手机,请使用 1.2.0 以前的版本,可以使用 adb 连接。 4、如果报错是有关产生 .deksotp 文件有关,一般可以打开程序列表运行。如果想要连接其他手机,请使用 1.2.0 以前的版本,可以使用 adb 连接。
''' '''
updateThingsString = '''V1.3.0 updateThingsString = '''V1.3.1
※1、修复打包问题防止部分用户安装出错的问题;
※2、修复了程序无法提取图标时可以提取默认图标使用;
V1.3.0
※1、修改了界面布局; ※1、修改了界面布局;
※2、修复大多数新安装普通用户的路图标及启动菜单文件路径不存在导致安装APK报错的bugs; ※2、修复大多数新安装普通用户的路图标及启动菜单文件路径不存在导致安装APK报错的bugs;
3、删除少量冗余代码调整代码顺序; 3、删除少量冗余代码调整代码顺序;
@@ -468,16 +477,11 @@ V1.2.1
※1、进行了安装方式的修改不使用 adb修复原无法安装和卸载的问题 ※1、进行了安装方式的修改不使用 adb修复原无法安装和卸载的问题
2、进行了部分优化 2、进行了部分优化
3、进行了功能缩水 3、进行了功能缩水
4、修复 deb 打包错误。 4、修复 deb 打包错误。'''
V1.2.0
1、支持安装自动添加快捷方式、卸载删除快捷方式
2、支持使用包名或 APK 文件卸载程序;
3、支持查看安装的所有包名
4、进行了部分优化'''
title = "uengine 安装器 {}".format(version) title = "uengine 安装器 {}".format(version)
updateTime = "2021年08月08日" updateTime = "2021年08月08日"
updateThings = "{} 更新内容:\n{}\n更新时间{}".format(version, updateThingsString, updateTime, time.strftime("%Y")) updateThings = "{} 更新内容:\n{}\n更新时间{}".format(version, updateThingsString, updateTime, time.strftime("%Y"))
programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
iconPath = "{}/icon.png".format(os.path.split(os.path.realpath(__file__))[0]) iconPath = "{}/icon.png".format(os.path.split(os.path.realpath(__file__))[0])
desktop = "/opt/apps/uengine-runner/UengineAndroidProgramList.desktop" desktop = "/opt/apps/uengine-runner/UengineAndroidProgramList.desktop"
desktopName = "UengineAndroidProgramList.desktop" desktopName = "UengineAndroidProgramList.desktop"

BIN
defult.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 312 KiB

View File

@@ -50,13 +50,16 @@ class getsavexml():
#获取所有带前后图片ID的图片路径相同背景或者前景的图片ID但分辨率不一样 #获取所有带前后图片ID的图片路径相同背景或者前景的图片ID但分辨率不一样
backimgs = Findpicpath(resourcelines,backimgid) backimgs = Findpicpath(resourcelines,backimgid)
foreimgs = Findpicpath(resourcelines,foreimgid) foreimgs = Findpicpath(resourcelines,foreimgid)
print(backimgs)
print(foreimgs)
#获取分辨率最高的图片路径 #获取分辨率最高的图片路径
def getmaxsize(imgs): def getmaxsize(imgs):
j = 0 j = 0
size=(0,0) size=(0,0)
zipapk = zipfile.ZipFile(apkFilePath) zipapk = zipfile.ZipFile(apkFilePath)
imgpath = ""
while j < len(imgs): while j < len(imgs):
print(imgs[j])
img = Image.open(zipapk.open(imgs[j])) img = Image.open(zipapk.open(imgs[j]))
print(imgs[j]) print(imgs[j])
print(img.size) print(img.size)

22
main.py
View File

@@ -341,6 +341,7 @@ def GetApkChineseLabel(apkFilePath)->"获取软件的中文名称":
#合并两个函数到一起 #合并两个函数到一起
def SaveApkIcon(apkFilePath, iconSavePath)->"获取 apk 文件的图标": def SaveApkIcon(apkFilePath, iconSavePath)->"获取 apk 文件的图标":
try:
info = GetApkInformation(apkFilePath) info = GetApkInformation(apkFilePath)
for line in info.split('\n'): for line in info.split('\n'):
if "application:" in line: if "application:" in line:
@@ -354,6 +355,10 @@ def SaveApkIcon(apkFilePath, iconSavePath)->"获取 apk 文件的图标":
iconData = zip.read(xmlpath) iconData = zip.read(xmlpath)
with open(iconSavePath, 'w+b') as saveIconFile: with open(iconSavePath, 'w+b') as saveIconFile:
saveIconFile.write(iconData) saveIconFile.write(iconData)
except:
traceback.print_exc()
print("Error, show defult icon")
shutil.copy(programPath + "/defult.png", iconSavePath)
def saveicon(): def saveicon():
global temppath global temppath
@@ -412,7 +417,7 @@ def get_home()->"获取用户主目录":
# 程序信息 # 程序信息
########################### ###########################
programUrl = "https://gitee.com/gfdgd-xi/uengine-runner" programUrl = "https://gitee.com/gfdgd-xi/uengine-runner"
version = "1.3.0" version = "1.3.1"
goodRunSystem = "Linuxdeepin/UOS" goodRunSystem = "Linuxdeepin/UOS"
aaptVersion = GetCommandReturn("aapt version") aaptVersion = GetCommandReturn("aapt version")
about = ''' 一个基于 Python3 的 tkinter 制作的 uengine APK 安装器 about = ''' 一个基于 Python3 的 tkinter 制作的 uengine APK 安装器
@@ -449,7 +454,11 @@ tips = ''' 新版本Deepin/UOS发布后可以在应用商店安装部分
4、如果报错是有关产生 .deksotp 文件有关,一般可以打开程序列表运行。如果想要连接其他手机,请使用 1.2.0 以前的版本,可以使用 adb 连接。 4、如果报错是有关产生 .deksotp 文件有关,一般可以打开程序列表运行。如果想要连接其他手机,请使用 1.2.0 以前的版本,可以使用 adb 连接。
''' '''
updateThingsString = '''V1.3.0 updateThingsString = '''V1.3.1
※1、修复打包问题防止部分用户安装出错的问题;
※2、修复了程序无法提取图标时可以提取默认图标使用;
V1.3.0
※1、修改了界面布局; ※1、修改了界面布局;
※2、修复大多数新安装普通用户的路图标及启动菜单文件路径不存在导致安装APK报错的bugs; ※2、修复大多数新安装普通用户的路图标及启动菜单文件路径不存在导致安装APK报错的bugs;
3、删除少量冗余代码调整代码顺序; 3、删除少量冗余代码调整代码顺序;
@@ -468,16 +477,11 @@ V1.2.1
※1、进行了安装方式的修改不使用 adb修复原无法安装和卸载的问题 ※1、进行了安装方式的修改不使用 adb修复原无法安装和卸载的问题
2、进行了部分优化 2、进行了部分优化
3、进行了功能缩水 3、进行了功能缩水
4、修复 deb 打包错误。 4、修复 deb 打包错误。'''
V1.2.0
1、支持安装自动添加快捷方式、卸载删除快捷方式
2、支持使用包名或 APK 文件卸载程序;
3、支持查看安装的所有包名
4、进行了部分优化'''
title = "uengine 安装器 {}".format(version) title = "uengine 安装器 {}".format(version)
updateTime = "2021年08月08日" updateTime = "2021年08月08日"
updateThings = "{} 更新内容:\n{}\n更新时间:{}".format(version, updateThingsString, updateTime, time.strftime("%Y")) updateThings = "{} 更新内容:\n{}\n更新时间:{}".format(version, updateThingsString, updateTime, time.strftime("%Y"))
programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
iconPath = "{}/icon.png".format(os.path.split(os.path.realpath(__file__))[0]) iconPath = "{}/icon.png".format(os.path.split(os.path.realpath(__file__))[0])
desktop = "/opt/apps/uengine-runner/UengineAndroidProgramList.desktop" desktop = "/opt/apps/uengine-runner/UengineAndroidProgramList.desktop"
desktopName = "UengineAndroidProgramList.desktop" desktopName = "UengineAndroidProgramList.desktop"

Binary file not shown.