Skip to content
Platform tools for Embedded Android development
Shell Python
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


These scripts are made to make work with Android Framework and Android applications easier.


Plato stands for PLAtform TOols. A tool, which combines several shortcuts and scripts, used for the android platform development.

Future replacement for all of the other scripts in this repository.

la root

la rr or la root performs the adb root && adb remount

la push

Gets an apk and pushes it on the device. Figures out where to push by itself, e.g.:

la push Dialer.apk

Will push Dialer to the /system/priv-app/Dialer/ dir.

la push Stk

Will push it to the /system/app/Stk/ dir.

la push -d SystemUI

Will push everything from SystemUI/ directory, including oat/ to /system/priv-app/SystemUI directory.

TODO: work with other extensions (e.g. .jar, .so, .elf, .idc etc)

TODO: handle applications, whose names and paths are not exactly the same as on devices.

la make

Builds a firmware or an application. Here are some options.

To build a firmware using number of cores + 1, with a previously initialized environment:

la make

To setup a userdebug build and build a frameworks.jar using 5 jobs for make:

la make --lunch userdebug --app platform/frameworks/base -j5

To setup an eng build and build a firmware using 8 jobs:

la make -l eng -j8

la ship

Ships a new change or a patch-set to Gerrit. You can specify a branch name much shorter, but if your branchname contains HEAD, plato will treat it as a full qualified branch name and won't append to HEAD:refs/for/ again.

To do git push origin HEAD:refs/for/master:

la ship master 

To do git push myremote HEAD:refs/for/develop:

la ship -r myremote develop

To do git push origin HEAD:refs/meta/config:

la ship HEAD:refs/meta/config

la find

Searches for files in the out/ directory.


la find libInputflinger # Case insensitive, not strict. Will find
la find -s Dialer.apk # Strict and case sensitive search


Called by la ignore command.

Works only for projects with If you have Android O with Android.bp files, the script won't work for you yet.

Script to make Android projects be excluded from the build system, or included back. Just renames the file to, which won't be included in the main mk file while building. Example:

mignore $ANDROID_BUILD_TOP/packages/apps/Dialer

Will exclude Dialer application from build if there is an file.

mignore $ANDROID_BUILD_TOP/packages/apps/Dialer

Will make Dialer be buildable again, if there is an file.

TODO: la on Dialer, la off inputflinger as a replacement


Script, made to simplify pushing firmwares to the device. Usage:

fast -rU

Will flash device with userdata and reboot.


Script to download bugreports and databases from an android device.


Script to copy all strings from one directory with .xml files to another. Example:

cpstr -s /path/to/directory/res -d /path/to/dir/res -n "name=\"mongooze\""


adb root
adb remount
adb push *.idc /system/usr/idc
adb reboot
You can’t perform that action at this time.