# Auto366ForAndroid **Repository Path**: lanxiaoxs/Auto366ForAndroid ## Basic Information - **Project Name**: Auto366ForAndroid - **Description**: 为auto366(天学网自动化)移植安卓。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-05-05 - **Last Updated**: 2026-05-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Auto366 Android 移植项目 ## 项目概述 这是一个将 Auto366(天学网自动化答题工具)从 Electron Windows 应用移植到 Android 的完整项目。 ## 移植状态 ### ✅ 已完成 1. 项目架构设计 2. 模块对应分析 3. Kotlin 代码移植 - AnswerExtractor.kt(答案提取器) - RulesEngine.kt(规则集引擎) - ProxyService.kt(VPN代理服务) - MainActivity.kt(主界面) 4. Gradle 配置 5. AndroidManifest.xml 6. VPN实现指南 ### 🔄 进行中 1. 文件管理模块(FileManager.kt) 2. 证书管理模块(CertManager.kt) 3. 更新管理模块(UpdateManager.kt) ### ⏳ 计划中 1. UI界面设计(Jetpack Compose) 2. 完整的VPN实现 3. 证书信任方案 4. 规则集加载器 ## 技术架构 ### 模块对应关系 | Electron模块 | Android Kotlin类 | 状态 | |-------------|----------------|------| | main.js | MainActivity.kt | ✅ | | window.js | UI界面组件 | ⏳ | | proxy.js | ProxyService.kt | ✅ | | cert.js | CertManager.kt | 🔄 | | rules.js | RulesEngine.kt | ✅ | | rules-loader.js | RulesLoader.kt | ⏳ | | answer.js | AnswerExtractor.kt | ✅ | | file.js | FileManager.kt | 🔄 | | update.js | UpdateManager.kt | 🔄 | ### 文件结构 ``` app/ ├── src/main/ │ ├── AndroidManifest.xml │ ├── java/com/auto366/android/ │ │ ├── MainActivity.kt │ │ ├── ProxyService.kt │ │ ├── CertManager.kt │ │ ├── RulesEngine.kt │ │ ├── AnswerExtractor.kt │ │ ├── FileManager.kt │ │ ├── UpdateManager.kt │ │ ├── utils/ │ │ └── data/ │ └── res/ ├── src/androidTest/ ├── src/test/ ├── build.gradle.kts └── proguard-rules.pro ``` ## 核心功能实现 ### 1. 答案提取器 (AnswerExtractor.kt) - 解析Zip文件 - 提取JSON/TXT答案 - 解析pageConfig - 题型识别(选择题、口语、朗读、填空、复述) ### 2. 规则集引擎 (RulesEngine.kt) - 加载答案桶 - 多答案映射 - 元素答案映射 - 自动匹配算法 ### 3. VPN代理服务 (ProxyService.kt) - VPN隧道建立 - 流量拦截 - MITM代理(HTTPS需要证书) - 答案注入 ### 4. 证书管理 (CertManager.kt) - 生成SSL证书 - 证书安装引导 - HTTPS拦截支持 ## 开发计划 ### 第一阶段:基础功能移植(1-2周) 1. 完成所有Kotlin核心模块移植 2. 实现文件管理和存储 3. 实现规则集加载和匹配 4. 基础UI界面 ### 第二阶段:网络功能移植(2-3周) 1. VPNService完整实现 2. HTTP流量拦截 3. 证书信任方案 4. 答案自动注入 ### 第三阶段:UI和优化(1-2周) 1. Jetpack Compose界面 2. 用户交互优化 3. 性能优化 4. 测试和发布 ## 挑战与解决方案 ### 挑战1:VPN/MITM实现 - **方案**:Android VPNService API + Socket解析 - **难点**:HTTPS证书信任 - **解决方案**:引导用户手动安装证书 ### 挑战2:文件系统差异 - **方案**:Android Storage API - **难点**:路径和权限 - **解决方案**:内部存储 + 外部存储选择 ### 挑战3:权限要求 - **方案**:权限引导和说明 - **难点**:VPN权限需要用户手动授权 - **解决方案**:详细的用户引导界面 ### 挑战4:性能优化 - **方案**:Kotlin协程 + 异步处理 - **难点**:流量解析性能 - **解决方案**:缓存 + 优化算法 ## 使用方法 ### 编译方法 #### 方法一:Android Studio(推荐) 1. 下载Android Studio 2. 导入本项目 3. 点击Build → Run #### 方法二:命令行编译 ```bash # 确保安装Java 17+和Gradle # 进入项目目录 cd Auto366ForAndroid # 编译debug版本 gradle assembleDebug # 编译release版本 gradle assembleRelease # 生成的APK在: app/build/outputs/apk/debug/app-debug.apk app/build/outputs/apk/release/app-release.apk ``` #### 方法三:使用编译脚本 ```bash ./build.sh ``` #### 方法四:在线编译(无需本地环境) - BuildShip(https://buildship.com) - GitHub Actions自动编译 ### 权限设置 1. 文件存储权限 2. 网络权限 3. VPN权限(需要用户授权) ### 证书安装 1. 应用生成证书 2. 引导用户安装证书 3. 信任证书链 ## 注意事项 1. **仅用于学习和研究** 2. **严禁商用** 3. **使用风险自负** 4. **遵守天学网使用条款** ## 许可证 GNU General Public License v3.0 ## 参考资料 - Auto366 Electron项目:https://github.com/CyrilGuoCODE/Auto366 - Android VPNService文档 - Jetpack Compose文档