Skip to content

Latest commit

 

History

History
 
 

app

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

Sanitizer Example Android Apps

This repository contains an example Android app that is built with the following memory safety tools:

  1. HWASan,
  2. GWP-ASan,
  3. MTE (in both SYNChronous and ASYNChronous modes), or
  4. None of the above.

Installing the Prebuilt Apps

Prebuilt apps can be found in the prebuilt-apks folder. They can be installed onto your device by adb install prebuilt-apks/app-<variant>-release.apk.

Note: If you see errors along the lines of: Failure [INSTALL_FAILED_VERIFICATION_FAILURE: Package Verification Result], you may need to adb unroot first. Once installed, the app will be visible in your app drawer under the name "Sanitizer Test App".

Uninstalling the App

You can remove the app on-device by long pressing the app in the app drawer, and dragging it to the top right of the screen, into the "Uninstall" bin.

Building the App Yourself

To build the app yourself, simply cd src && ./gradlew build. For each sanitizer, this will build a debug version of the app and place it under app/build/outputs/apk/gwpAsan/release/app-<variant>-debug-unsigned.apk. Installation instructions are the same as the prebuilts.

If your device policy doesn't allow for unsigned apps to be installed, you can either use the prebuilt apps - or use the build-and-sign.sh script to build and sign your own app. You will likely need to create your own signing certificate, instructions are available in the script. Once the script runs, signed APKs are available in src/apks.