Skip to content

feat: 添加 Android PoC 相关文件和配置,支持初步的 Android 部署 - #242

Closed
overflow65537 wants to merge 16 commits into
mainfrom
feat/Android
Closed

overflow65537 wants to merge 16 commits into
mainfrom
feat/Android

Conversation

@overflow65537

@overflow65537 overflow65537 commented Aug 13, 2026 •

Copy link
Copy Markdown
Owner

Summary by Sourcery

Introduce an isolated Phase-0 Android deployment skeleton for the app, enabling initial PySide6-based Android packaging and runtime smoke testing without affecting the existing desktop application.

New Features:

  • Add an Android-only entry point with a minimal Qt Widgets window that reports platform/runtime information and runs a basic smoke test.
  • Provide initial PySide6 Android deployment configuration via a seeded pysidedeploy.spec, android.pyproject, and Android-specific requirements file.

Documentation:

  • Document the Android PoC setup, required tooling, deployment workflow, and MaaFramework integration plan in android_app/README.md.

@sourcery-ai

sourcery-ai Bot commented Aug 13, 2026

Copy link
Copy Markdown

Reviewer's Guide

Adds an isolated Phase-0 Android deployment PoC skeleton using PySide6 Qt Widgets, including an Android-specific entry point, deployment spec, project file, requirements, and documentation, without affecting the existing desktop startup or integrating MaaFramework.

Sequence diagram for Android PoC smoke test interaction

sequenceDiagram
  actor User
  participant AndroidPocWindow
  participant QApplication
  participant run_smoke_test

  User->>AndroidPocWindow: click smoke_button
  AndroidPocWindow->>run_smoke_test: run_smoke_test()
  run_smoke_test->>QApplication: QApplication.instance()
  run_smoke_test-->>AndroidPocWindow: ok, lines
  AndroidPocWindow->>AndroidPocWindow: _run_smoke_test
  AndroidPocWindow->>AndroidPocWindow: info.appendPlainText(lines)
  AndroidPocWindow->>AndroidPocWindow: status.setText(...)
Loading

File-Level Changes

Change Details Files
Introduce an Android-only PySide6 Qt Widgets entry point for Phase-0 deployment validation.
  • Define Android runtime detection and platform summary helpers that avoid MaaFramework dependencies.
  • Implement a minimal touch-friendly QMainWindow (AndroidPocWindow) that shows platform/runtime info and a smoke-test button.
  • Add a smoke-test routine that verifies Python/Qt basics and explicitly skips MaaFramework native runtime checks.
  • Provide a standalone main() function and guard that starts the Qt application without importing the desktop main.py or MainWindow.
android_app/main.py
Seed pyside6-android-deploy configuration for building an Android aarch64 debug APK from the new entry point.
  • Add an [app] section targeting main.py with project_dir set to the Android skeleton directory and a dedicated android.pyproject file.
  • Configure [python], [qt], [android], and [buildozer] sections with minimal modules (Core,Widgets), Android Buildozer/Cython packages, and placeholder wheel paths for PySide6/shiboken6.
  • Document in-file that MaaFramework is intentionally excluded in Phase 0 and that developer-local absolute paths must not be committed.
android_app/pysidedeploy.spec
Document the Android PoC workspace, tooling requirements, and intended Go/No-Go MaaFramework integration path.
  • Explain the scope, status, and constraints of the Phase-0 Android deployment skeleton and its isolation from the desktop app.
  • Detail host environment requirements, Android toolchain dependencies, and how to initialize and merge pyside6-android-deploy configuration using real wheel/SDK/NDK paths.
  • Describe smoke-test expectations for the first APK and a stepwise MaaFramework Go/No-Go test plan, including intentionally excluded desktop-only features and dependencies.
android_app/README.md
Add supporting Android deployment metadata and dependency list placeholders.
  • Introduce an android.pyproject file referenced by the deployment spec to enumerate Android packaging inputs (content not shown in diff).
  • Create requirements-android.txt to track Android-specific Python dependencies, explicitly excluding MaaFramework and several desktop-only packages for Phase 0.
  • Ensure repository-level ignore rules (not shown fully in diff) keep generated Android deployment outputs out of version control.
android_app/android.pyproject
android_app/requirements-android.txt
.gitignore

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant