A JavaScript runtime and development environment on the Android platform that supports barrier-free services. Its development goal is similar to JsBox and Workflow.
This project is obtained from hyb1996 autojs and named Autox.js (autojs modified version). You are now looking at the project based on the original 4.1 version. Later, we will introduce how to develop and run the project itself. More developers are welcome to participate in the maintenance and upgrade of this project. hyb1996 adopts Mozilla Public License Version 2.0 +Non-commercial use. For various reasons, this product adopts the GPL-V2 license. Whether it is other contributors or the use of this product, they must comply with the relevant requirements of MPL-2.0+Non-commercial use and GPL-V2.
About the two agreements:
-
Autox.js documentation: https://autox-doc.vercel.app/
-
Open source address: https://github.com/aiselp/AutoX/
-
PC-side development VS Code plug-in
-
Official forum: www.autoxjs.com
-
autoxjs update log
releases If the download is too slow, you can right-click and copy the link address of the APK file in Release Assets, and paste it to http://toolwa.com/github/ and other github acceleration websites to download
Currently, only the following two versions are available:
- arm64-v8a: 64-bit ARM devices (mainstream flagship devices)
- mini-arm64-v8a: Removes some non-essential resource versions and can be downloaded on demand.
- Simple and easy-to-use automatic operation function implemented by accessibility service
- Floating window recording and running
- More professional & powerful selector API, providing search, traversal, information acquisition, operation, etc. of controls on the screen. Similar to Google's UI testing framework UiAutomator, you can also use it as a mobile UI testing framework
- Use JavaScript as the scripting language, and support code completion, variable renaming, code formatting, search and replace and other functions, can be used as a JavaScript IDE
- Support the use of e4x to write interfaces, and can package JavaScript into apk files, you can use it to develop small tool applications
- Support the use of Root permissions to provide more powerful screen clicks, sliding, recording functions and running shell commands. Recording can generate js files or binary files, and the playback of recorded actions is relatively smooth
- Provides functions such as screenshot, screenshot saving, image color search, image search, etc.
- Can be used as a Tasker plug-in, combined with Tasker, it can handle daily workflows
- With interface analysis tools, similar to Android Studio's LayoutInspector, it can analyze the interface hierarchy and range, and obtain the control information on the interface
This software is different from software such as Keyboard Wizard. The main differences are:
- Auto.js mainly aims at automation and workflow, and is more convenient for daily life and work, such as automatically blocking notifications when starting a game, and one-click WeChat video with specific contacts (this problem has appeared on Zhihu, and it is difficult for the elderly to perform complex operations and WeChat video with their children), etc.
- Auto.js has better compatibility. Coordinate-based Keyboard Wizard and Script Wizard are prone to resolution problems, while control-based Auto.js does not have this problem
- Auto.js does not require root permissions to perform most tasks. Only functions related to clicks and slides that require precise coordinates require root permissions
- Auto.js can provide functions such as interface writing, and is not just a scripting software
- Brand new UI based on Material Design 3
- Support for Shizuku and the ability to run embedded scripts, allowing dynamic debugging of Shizuku-based APIs without frequently building debug APKs to test Shizuku functionality
- Introducing a new NodeJS engine, supporting the execution of a large number of NPM packages and interoperability with Java
- Migrating numerous modules to TS and adding type declarations, supporting scripts written in TS and providing more comprehensive type hints
- A brand new UI framework based on Vue3 and Jetpack Compose, allowing you to write data-responsive Material Design 3 interfaces with Vue3
- A new generation of NodeJS-based APIs (referred to as the v7 API), providing a large number of non-blocking functional modules (working on)
- Improved app packaging and signature management, support for packaging Node.js engine scripts, and support for special permission request configuration.
- Rhino upgraded to stable version 1.8.0, supporting more ES6+ syntax.
You can view some examples here, or view and run them directly in the app.
Environment Requirements: Java version 17
Command Instructions: Run the command in the project root directory. If using Windows PowerShell (less than 7.0), use the command with a ";" prefix.
Starting with version 7.0, you need to run the following command to compile the JS module before building. Make sure you have Node.js version 20 or higher installed.
./gradlew autojs:buildJsModuleOnly needs to be run once. If the module code is changed, it needs to be run again to get the update.
./gradlew app:buildDocsOnly needs to be run once. If the document is changed, it needs to be run again to get the update.
./gradlew app:buildDebugTemplateApp && ./gradlew app:assembleV7Debug && ./gradlew app:installV7Debug
#or
./gradlew app:buildDebugTemplateApp ; ./gradlew app:assembleV7Debug ; ./gradlew app:installV7DebugThe generated debug version APK file is in app/build/outputs/apk/v6/debug , use the default signature
./gradlew app:buildTemplateApp && ./gradlew app:assembleV7
#or
./gradlew app:buildTemplateApp ; ./gradlew app:assembleV7The generated APK file is unsigned, under app/build/outputs/apk/v6/release, and needs to be signed before installation
First run the following command:
./gradlew app:buildDebugTemplateAppThen click the Android Studio run button
First run the following command:
./gradlew app:buildTemplateAppThen click the Android Studio menu "Build" -> "Generate Signed Bundle /APK..." -> Check "APK" -> "Next" -> Select or create a new certificate -> "Next" -> Select "v7Release" -> "Finish" The generated APK file is under app/v7/release
We've added some script functionality tests to the autojs module. To run the tests, please refer to the following steps.
- Prepare an Android device and connect it to your computer using adb.
- Use the latest version of Android Studio to build the module using
./gradlew autojs:assemble. - Open the test class in the
autojs/src/androidTestdirectory. - Click the Run button next to the class name to start the test.
- Depending on your device, you may need to click Allow test APK installation on your phone.