This repository contains the code for the system for the paper: Empowering LLM to use Smartphone for Intelligent Task Automation.
For accessing the dataset DroidTask
, please visit the DroidTask repository.
AutoDroid is implemented based on the DroidBot framework.
Make sure you have:
Python
Java
Android SDK
- Added
platform_tools
directory in Android SDK toPATH
Then clone this repo and install with pip
:
git clone git@github.com:MobileLLM/AutoDroid.git
cd AutoDroid/
pip install -e .
-
Prepare:
- If you want to test AutoDroid with the apps used in our paper, please download the
apk.zip
folder from Google Cloud, and unzip it, and prepare a device or an emulator connected to your host machine viaadb
. - If you want to test AutoDroid with other apps, please download the
.apk
file to your host machine, and prepare a device or an emulator connected to your host machine viaadb
. - Prepare a GPT API key, and go to
tools.py
, replace theos.environ['GPT_URL']
with your own API key.
- If you want to test AutoDroid with the apps used in our paper, please download the
-
Start:
droidbot -a <path/to/.apk> -o <output/of/app> -task <your task> -keep_env -keep_app
you can try the scripts in the ./scripts folder, and the tasks from the DroidTask are listed in the form.
- The current implementation is not good at determining task completion.
- The task automation performance may be unstable due to the randomness of LLMs, the style/quality of app GUI and task descriptions, etc.
- It requires connecting to a host machine via adb, instead of a standalone on-device solution.
Welcome to contribute!
- We thank a lot for the wonderful open source apps from Simple Mobile Tools.
- Note that AutoDroid is currently for research purpose only. It may perform unintended actions (e.g. modifying your account/settings). Please use at your own risk.
Enjoy!