From 7f36a1ff3c15aa1ef8c1f61731ee22c001e21ff7 Mon Sep 17 00:00:00 2001 From: gfdgd xi <3025613752@qq.com> Date: Mon, 16 May 2022 22:21:59 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A0=E4=BA=86=E4=B8=80=E7=82=B9=E5=87=BD?= =?UTF-8?q?=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/README.md | 27 +++++++++++++++++++++++++- api/__init__.py | 51 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 77 insertions(+), 1 deletion(-) diff --git a/api/README.md b/api/README.md index 0a331da..55d7cc4 100644 --- a/api/README.md +++ b/api/README.md @@ -11,6 +11,7 @@ | version | API 版本 | | updateTime | 更新时间 | | websize | 程序官网 | +| home | 用户 home(用户文件)目录 | ## Check 用于检查 API 所需的东西是否完整,详细如下: @@ -41,11 +42,13 @@ xxx = api.APK("APK 所在路径") | xxx.chineseLabel() | 获取 APK 中文名称 | | xxx.saveApkIcon("图标保存路径") | 保存 APK 的图标到指定路径 | | xxx.version() | 获取 APK 版本号 | +| xxx.saveDesktopFile("图标保存路径", "快捷方式保存路径") | 保存支持 UEngine 启动的 APK 快捷方式 | ## UEngine 用于对 UEngine 进行一点点操控,详细如下: | 函数名 | 函数介绍 | |:-:|:-:| +| RemoveUengineCheck() | 删除 UEngine 的检查脚本 | | CPUCheck() | 检查 CPU 是否支持运行 UEngine | | Services | 用于操控 UEngine 服务的类,见下 | | InternetBridge | 用于操控 UEngine 网络桥接的类,见下 | @@ -64,4 +67,26 @@ xxx = api.APK("APK 所在路径") | InternetBridge.Close() | 关闭 UEngine 网络桥接 | | InternetBridge.Restart() | 重启 UEngine 网络桥接 | | InternetBridge.Reload() | 重新加载 UEngine 网络桥接 | -| InternetBridge.ForceReload() | 强制加载 UEngine 网络桥接 | \ No newline at end of file +| InternetBridge.ForceReload() | 强制加载 UEngine 网络桥接 | +## Adb +用于对 Adb 的部分操控 +| 函数名 | 函数介绍 | +|:-:|:-:| +| Services | 用于操控 Adb 服务的类,见下 | +### Service +关于 Adb 的服务控制: +| 函数名 | 函数介绍 | +|:-:|:-:| +| Services.Open() | 打开 Adb 服务 | +| Services.Close() | 关闭 Adb 服务 | +| Services.Kill() | 杀死 Adb 进程 | +## File +关于文件的读取和写入,这是面向对象的写法,所以应用方式也不一样: +```python +import api +xxx = api.File("文件所在路径") +``` +| 函数名 | 函数介绍 | +|:-:|:-:| +| xxx.read() | 读取这个文件 | +| xxx.write("写入内容") | 写入这个文件 | \ No newline at end of file diff --git a/api/__init__.py b/api/__init__.py index 8809d83..a0cd500 100644 --- a/api/__init__.py +++ b/api/__init__.py @@ -10,6 +10,7 @@ class ProgramInformation: version = "1.6.0Alpha1" updateTime = "2022年05月15日" websize = ["https://gitee.com/gfdgd-xi/uengine-runner", "https://github.com/gfdgd-xi/uengine-runner"] + home = os.path.expanduser('~') # 判断程序以正确方式运行 class Check: @@ -110,7 +111,29 @@ class APK: line = line.replace("'", "") line = line.replace(" ", "") return line + + def saveDesktopFile(self, desktopPath, iconPath): + showName = self.chineseLabel() + if showName == "" or showName == None: + showName = "未知应用" + self.saveApkIcon(iconPath) + things = '''[Desktop Entry] + Categories=app; + Encoding=UTF-8 + Exec=uengine launch --action=android.intent.action.MAIN --package={} --component={} + GenericName={} + Icon={} + MimeType= + Name={} + StartupWMClass={} + Terminal=false + Type=Application + '''.format(self.packageName(), self.activityName(), showName, iconPath, showName, showName) + File(desktopPath).write(things) + class UEngine: + def RemoveUengineCheck(): + os.remove("/usr/share/uengine/uengine-check-runnable.sh") def CPUCheck(): return subprocess.getoutput("uengine check-features") class Services: @@ -133,6 +156,34 @@ class UEngine: def ForceReload(): os.system("pkexec uengine-bridge.sh force-reload") +class Adb: + class Service: + def Open(): + os.system("adb start-server") + def Close(): + os.system("adb kill-server") + def Kill(): + os.system("killall adb") + +class File: + def __init__(self, filePath): + self.filePath = filePath + + def read(self): + f = open(self.filePath, "r") # 设置文件对象 + str = f.read() # 获取内容 + f.close() # 关闭文本对象 + return str # 返回结果 + + def write(self, things) -> "写入文本文档": + TxtDir = os.path.dirname(self.filePath) + print(TxtDir) + if not os.path.exists(TxtDir): + os.makedirs(TxtDir, exist_ok=True) + file = open(self.filePath, 'w', encoding='UTF-8') # 设置文件对象 + file.write(things) # 写入文本 + file.close() # 关闭文本对象 + if __name__ == "__main__": print("本 API 不支持直接运行,请通过引入的方式使用此 API") apki = APK("/home/gfdgd_xi/下载/com.mihoyo.cloudgames.ys_1.0.0_liqucn.com.apk")