项目优化。瘦身

This commit is contained in:
2025-11-19 17:23:41 +08:00
parent e90dbf14e9
commit 51f638f389
10 changed files with 39 additions and 48 deletions

3
.gitignore vendored
View File

@@ -6,6 +6,7 @@ __pycache__/
*.pyd *.pyd
*.py[cod] *.py[cod]
*$py.class *$py.class
build.bat
# Distribution / packaging # Distribution / packaging
.Python .Python
@@ -128,6 +129,4 @@ dmypy.json
# Cython debug symbols # Cython debug symbols
cython_debug/ cython_debug/
build-tidevice.bat build-tidevice.bat
build.bat

View File

@@ -1,5 +1,3 @@
# from getpass import fallback_getpass
# 设备模型 # 设备模型
class DeviceModel(object): class DeviceModel(object):

View File

@@ -7,23 +7,24 @@
- iproxy 守护:本地端口 + /status 探活,不通则自愈重启;连续失败达阈值才移除 - iproxy 守护:本地端口 + /status 探活,不通则自愈重启;连续失败达阈值才移除
""" """
import datetime import datetime
import http.client
import json
import os import os
import sys
import time
import threading
import subprocess
import socket import socket
import subprocess
import sys
import threading
import time
from concurrent.futures import ThreadPoolExecutor from concurrent.futures import ThreadPoolExecutor
from pathlib import Path from pathlib import Path
from typing import Dict, Optional, List, Any from typing import Dict, Optional
import platform
import psutil import psutil
import http.client
import tidevice import tidevice
import wda import wda
from flask import json
from tidevice import Usbmux, ConnectionType from tidevice import Usbmux, ConnectionType
from tidevice._device import BaseDevice from tidevice._device import BaseDevice
from Entity.DeviceModel import DeviceModel from Entity.DeviceModel import DeviceModel
from Entity.Variables import WdaAppBundleId, wdaScreenPort, wdaFunctionPort from Entity.Variables import WdaAppBundleId, wdaScreenPort, wdaFunctionPort
from Module.FlaskSubprocessManager import FlaskSubprocessManager from Module.FlaskSubprocessManager import FlaskSubprocessManager

View File

@@ -1,5 +1,6 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import json import json
import logging
import os import os
import socket import socket
import threading import threading
@@ -7,24 +8,23 @@ import time
from pathlib import Path from pathlib import Path
from queue import Queue from queue import Queue
from typing import Any, Dict, List from typing import Any, Dict, List
import anyio
from quart import Quart
from quart_cors import cors
from Entity import Variables import anyio
from Utils.AiUtils import AiUtils
from Utils.IOSAIStorage import IOSAIStorage
from Utils.LogManager import LogManager
import wda import wda
from quart import Quart, request, g from quart import Quart, request, g
from quart_cors import cors
import Entity.Variables as ev
from Entity import Variables
from Entity.ResultData import ResultData from Entity.ResultData import ResultData
from Entity.Variables import addModelToAnchorList, wdaFunctionPort
from Utils.AiUtils import AiUtils
from Utils.ControlUtils import ControlUtils from Utils.ControlUtils import ControlUtils
from Utils.IOSAIStorage import IOSAIStorage
from Utils.JsonUtils import JsonUtils
from Utils.LogManager import LogManager
from Utils.ThreadManager import ThreadManager from Utils.ThreadManager import ThreadManager
from script.ScriptManager import ScriptManager from script.ScriptManager import ScriptManager
from Entity.Variables import addModelToAnchorList, wdaFunctionPort
import Entity.Variables as ev
from Utils.JsonUtils import JsonUtils
import logging
for name in ('werkzeug', 'werkzeug.serving'): for name in ('werkzeug', 'werkzeug.serving'):
log = logging.getLogger(name) log = logging.getLogger(name)

View File

@@ -1,17 +1,14 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import logging
import subprocess
import sys
import threading
import atexit import atexit
import json import json
import os import os
import socket import socket
import subprocess
import sys
import threading
import time import time
from pathlib import Path from pathlib import Path
from typing import Optional, Union, Dict, List from typing import Optional, Union, Dict, List
import psutil
from Utils.LogManager import LogManager from Utils.LogManager import LogManager

View File

@@ -4,18 +4,14 @@ import os
import sys import sys
from pathlib import Path from pathlib import Path
from asgiref.wsgi import WsgiToAsgi
from sympy import false
from Utils.AiUtils import AiUtils
from Utils.LogManager import LogManager
from hypercorn.asyncio import serve from hypercorn.asyncio import serve
from hypercorn.config import Config from hypercorn.config import Config
import sys
from pathlib import Path
from Module.DeviceInfo import DeviceInfo from Module.DeviceInfo import DeviceInfo
from Module.FlaskSubprocessManager import FlaskSubprocessManager from Module.FlaskSubprocessManager import FlaskSubprocessManager
from Utils.AiUtils import AiUtils
from Utils.DevDiskImageDeployer import DevDiskImageDeployer from Utils.DevDiskImageDeployer import DevDiskImageDeployer
from Utils.LogManager import LogManager
if "IOSAI_PYTHON" not in os.environ: if "IOSAI_PYTHON" not in os.environ:
base_path = Path(sys.argv[0]).resolve() base_path = Path(sys.argv[0]).resolve()
@@ -78,7 +74,7 @@ if __name__ == "__main__":
# 清空日志 # 清空日志
LogManager.clearLogs() LogManager.clearLogs()
# main(sys.argv) main(sys.argv)
# 添加iOS开发包到电脑上 # 添加iOS开发包到电脑上
deployer = DevDiskImageDeployer(verbose=True) deployer = DevDiskImageDeployer(verbose=True)

View File

@@ -1,7 +1,6 @@
import json import json
import os import os
from pathlib import Path from pathlib import Path
from typing import Dict, Any
import portalocker as locker # ① 引入跨平台锁 import portalocker as locker # ① 引入跨平台锁

View File

@@ -1,5 +1,4 @@
import os import os
import cv2 import cv2
import numpy as np import numpy as np
from typing import List, Tuple, Union, Optional from typing import List, Tuple, Union, Optional

View File

@@ -1,7 +1,6 @@
import requests import requests
from Entity.Variables import prologueList, API_KEY from Entity.Variables import prologueList, API_KEY
from Utils.IOSAIStorage import IOSAIStorage from Utils.IOSAIStorage import IOSAIStorage
from Utils.JsonUtils import JsonUtils
from Utils.LogManager import LogManager from Utils.LogManager import LogManager
BaseUrl = "https://crawlclient.api.yolozs.com/api/common/" BaseUrl = "https://crawlclient.api.yolozs.com/api/common/"

View File

@@ -2,28 +2,31 @@
setlocal setlocal
cd /d E:\code\Python\iOSAi cd /d E:\code\Python\iOSAi
REM ---- 1) 打包 ----
python -m nuitka Module\Main.py ^ python -m nuitka Module\Main.py ^
--standalone ^ --standalone ^
--msvc=latest ^ --msvc=latest ^
--windows-console-mode=disable ^ --windows-console-mode=disable ^
--output-filename=IOSAI ^ --output-filename=IOSAI ^
--jobs=8 ^
--lto=no ^
--assume-yes-for-downloads ^
--include-package=Module,Utils,Entity,script ^ --include-package=Module,Utils,Entity,script ^
--include-module=quart,quart_cors,wda,psutil,portalocker,cv2,lxml.etree,requests,urllib3,certifi,idna,setuptools,asgiref,hypercorn,h2,hpack,wsproto,priority,anyio,sniffio ^ --include-module=quart,quart_cors,wda,hypercorn,wsproto,anyio,sniffio ^
--include-data-dir=resources=resources ^ --include-data-dir=resources=resources ^
--include-data-dir=SupportFiles=SupportFiles ^ --include-data-dir=SupportFiles=SupportFiles ^
--include-data-files="resources/iproxy/*=resources/iproxy/" ^ --include-data-files="resources/iproxy/*=resources/iproxy/" ^
--include-data-files=resources/icon.ico=resources/icon.ico ^ --include-data-files=resources/icon.ico=resources/icon.ico ^Z
--jobs=20 ^ --windows-icon-from-ico=resources/icon.ico ^
--windows-icon-from-ico=resources/icon.ico --noinclude-default-mode=nofollow ^
--nofollow-import-to=pytest,py.test,unittest,setuptools,doctest,IPython,pydoc ^
--nofollow-import-to=sympy,matplotlib
IF ERRORLEVEL 1 EXIT /B %ERRORLEVEL% IF ERRORLEVEL 1 EXIT /B %ERRORLEVEL%
REM 2) 复制 sidecar venv 到 Main.dist 根目录(与 IOSAI.exe 同级) rem ---- 复制 mini-python ----
rmdir /S /Q ".\Main.dist\python-rt" 2>nul rmdir /S /Q ".\Main.dist\python-rt" 2>nul
xcopy /E /I /Y ".\Needed\mini-python" ".\Main.dist\python-rt\" xcopy /E /I /Y ".\Needed\mini-python" ".\Main.dist\python-rt\"
rem ---- build done above ----
rem 强制删除根目录里会污染 sys.path 的同名包(目前只遇到 simplejson rem ---- 清理可能污染 sys.path 的包 ----
rmdir /s /q ".\Main.dist\simplejson" 2>nul rmdir /s /q ".\Main.dist\simplejson" 2>nul
del /f /q ".\Main.dist\simplejson.*" 2>nul del /f /q ".\Main.dist\simplejson.*" 2>nul