一个基于 Flask 和 Apache Cordova 的多线程 Web 应用,可以将 HTML 文件或 ZIP 压缩包自动构建为 Android APK。
cd /workspace
chmod +x setup.sh
./setup.sh
安装脚本会自动:
chmod +x start.sh
./start.sh
或者手动启动:
cd /workspace
source venv/bin/activate
export JAVA_HOME=/workspace/java
export ANDROID_HOME=/workspace/android-sdk
export ANDROID_SDK_ROOT=/workspace/android-sdk
export PATH=/workspace/java/bin:/workspace/android-sdk/cmdline-tools/latest/bin:/workspace/android-sdk/platform-tools:/workspace/android-sdk/build-tools/34.0.0:/workspace/node/bin:/workspace/cordova/node_modules/.bin:$PATH
python app.py
打开浏览器访问:http://localhost:8082
com.example.myapp1.0.0/workspace/ ├── app.py # Flask 应用主程序 ├── requirements.txt # Python 依赖 ├── setup.sh # 环境安装脚本 ├── start.sh # 启动脚本 ├── venv/ # Python 虚拟环境 ├── java/ # JDK 17(本地安装) ├── android-sdk/ # Android SDK(本地安装) ├── node/ # Node.js 18(本地安装) ├── cordova/ # Apache Cordova(本地 npm 包) ├── uploads/ # 上传的文件 └── outputs/ # 生成的 APK 文件
所有软件都安装在项目目录 /workspace 下:
/workspace/node/workspace/java/workspace/android-sdk/workspace/cordova/node_modules//workspace/venv上传文件并开始构建
参数:
返回:
{
"success": true,
"taskId": "uuid",
"message": "构建任务已开始"
}
查询构建状态
返回:
{
"status": "success",
"progress": 100,
"message": "构建完成!"
}
下载生成的 APK
应用会自动设置以下环境变量:
JAVA_HOME: /workspace/javaANDROID_HOME: /workspace/android-sdkANDROID_SDK_ROOT: /workspace/android-sdkPATH: 包含 Node.js、Java、Android SDK 和 Cordova 的 bin 目录chmod +x setup.sh
chmod +x start.sh
由于所有软件都安装在项目目录下,你可以直接将整个 /workspace 目录复制到其他 Linux 机器上使用:
# 在目标机器上
tar -czf workspace.tar.gz /workspace
# 复制到其他机器
tar -xzf workspace.tar.gz
cd /workspace
./start.sh
注意:目标机器需要是相同架构的 Linux 系统。
MIT License