How autox-community/autox works
AutoX is an Android-based JavaScript automation app: scripts are represented as sources, run through an engine service, and receive a runtime with app and automation APIs. The repository also contains editing and file-management UI, scheduled and intent-triggered execution, remote development-plugin support, and APK/resource packaging. The execution path is supported by excerpts and the SOURCE INDEX; several other subsystems are visible only in the file tree, so their internal wiring is left unasserted.
Main entry points: ScriptEngineService.kt Execution service · Engines.java Engines API · ScriptEngineManager.java Engine manager · TimedTaskManager.kt Task manager
Components 25
Script execution
- Execution service
autojs/src/main/java/com/stardust/autojs/ScriptEngineService.kt - Script sources
autojs/src/main/java/com/stardust/autojs/script/ScriptSource.kt - Execution records
autojs/src/main/java/com/stardust/autojs/execution/ScriptExecution.java - Execution config
autojs/src/main/java/com/stardust/autojs/execution/ExecutionConfig.kt - Engine manager
autojs/src/main/java/com/stardust/autojs/engine/ScriptEngineManager.java - Script engine
autojs/src/main/java/com/stardust/autojs/engine/ScriptEngine.java - Script runtime
autojs/src/main/java/com/stardust/autojs/runtime/ScriptRuntime.java - Engines API
autojs/src/main/java/com/stardust/autojs/runtime/api/Engines.java
Android automation
- Accessibility service
automator/src/main/java/com/stardust/view/accessibility/AccessibilityService.kt - Layout inspection
automator/src/main/java/com/stardust/view/accessibility/LayoutInspectService.kt - Screen capture
autojs/src/main/java/com/stardust/autojs/core/image/capture/ScreenCaptureManager.kt - Task scheduling
app/src/main/java/org/autojs/autojs/timing/TimedTaskScheduler.kt
Authoring and scheduling
- AutoX app
app/src/main/java/org/autojs/autojs/App.kt - Script editor
app/src/main/java/org/autojs/autojs/ui/edit/EditActivity.java - Script files
app/src/main/java/org/autojs/autojs/model/script/ScriptFile.kt - File explorer
app/src/main/java/org/autojs/autojs/model/explorer/Explorer.java - Task settings
app/src/main/java/org/autojs/autojs/ui/timing/TimedTaskSettingActivity.java - Task manager
app/src/main/java/org/autojs/autojs/timing/TimedTaskManager.kt - Task database
app/src/main/java/org/autojs/autojs/storage/database/TimedTaskDatabase.java
External and packaging
- Dev plugin client
inrt/src/main/java/com/stardust/auojs/inrt/pluginclient/DevPluginService.java - Dev plugin server
app/src/main/java/org/autojs/autojs/devplugin/DevPlugin.kt - APK packaging
apkbuilder/src/main/java/com/stardust/autojs/apkbuilder/ApkBuilder.java - Manifest editor
apkbuilder/src/main/java/com/stardust/autojs/apkbuilder/ManifestEditor.java - Resource decoding
apkbuilder/src/main/java/zhao/arsceditor/AndrolibResources.java
Other components
- User
Connections 19
- Execution service → Engine manager: manages engines
autojs/src/main/java/com/stardust/autojs/ScriptEngineService.kt - Execution service → Script engine: creates engines
autojs/src/main/java/com/stardust/autojs/ScriptEngineService.kt - Execution service → Execution records: tracks executions
autojs/src/main/java/com/stardust/autojs/ScriptEngineService.kt - Execution service → Script runtime: initializes context
autojs/src/main/java/com/stardust/autojs/ScriptEngineService.kt - Engine manager → Script engine: registers engines
autojs/src/main/java/com/stardust/autojs/engine/ScriptEngineManager.java - Engine manager → Script sources: selects by source
autojs/src/main/java/com/stardust/autojs/engine/ScriptEngineManager.java - Engines API → Execution service: executes scripts
autojs/src/main/java/com/stardust/autojs/runtime/api/Engines.java - Engines API → Script sources: builds sources
autojs/src/main/java/com/stardust/autojs/runtime/api/Engines.java - Engines API → Script runtime: uses runtime
autojs/src/main/java/com/stardust/autojs/runtime/api/Engines.java - Task settings → Task manager: loads tasks
app/src/main/java/org/autojs/autojs/ui/timing/TimedTaskSettingActivity.java - Task settings → Script files: selects scripts
app/src/main/java/org/autojs/autojs/ui/timing/TimedTaskSettingActivity.java - Task manager → Task database: persists tasks
- Task manager → Task scheduling: schedules tasks
- Script editor → Script files: edits scripts
- File explorer → Script files: browses scripts
- Accessibility service → Layout inspection: supplies inspection
- Dev plugin client → Dev plugin server: connects remotely
inrt/src/main/java/com/stardust/auojs/inrt/pluginclient/DevPluginService.java - APK packaging → Manifest editor: edits manifest
- APK packaging → Resource decoding: packages resources