Skip to content

good-good-create/DroidPalette

Repository files navigation

DroidPalette

An automated tool that analyzes component context to automatically repair color accessibility issues in Android applications

The overview of DroidPalette is as follows. The input to DroidPalette consists of the APK file of an Android application with color accessibility issues, as well as the corresponding detection report generated by Xbot, and its output is the repaired APK file. Since DroidPalette's methodology is derived from extensive empirical research, its repair solutions can largely preserve the original UI design style of the repaired application, which is in line with developers' preferences. We hope this project can help developers address relevant color accessibility issues. If you have any questions, please feel free to contact us.

DroidPalette Overview

The URL address of the survey.

https://forms.gle/GGtPYgYPSfoREYBv5

The URL address of DroidPalette's experimental dataset

https://drive.google.com/file/d/136trbD78Z0P0r4b5OZp1xzgCbz-ZdGKp/view?usp=drive\_link

Environment Configuration

  • Windows10
  • Python:3.8
  • ApkTool:2.10.0
  • Android SDK:API 35+

Getting Started

Setting up

  • Open Android Studio and select "Create Virtual Device" in the Device Manager.
  • For the Virtual Device, select Pixel, set the screen resolution to 1080×1920, and choose API level 33 or higher.
  • Open the newly created virtual device, and you need to install the Google Accessibility Scanner tool.
  • After completing the above steps, fill in the emulator information in run_xbot.py.

Run

  • Run the following command in the directory where the main.py is located to execute DroidPalette. apk_all_name means The name of the APK file to be repaired, apk_path means The name of the APK file to be repaired and repair_path means The location of the repaired APK file.
python main.py apk_all_name apk_path repair_path
  • A sample is shown below.
 python main.py com.example.trigger_400 D:/issue_apk/com.example.trigger_400.apk D:/repair_path 

Detailed Description

All Required Parameters of DroidPalette.

  • report_path: The path to Xbot's detection results.
  • apk_path: The path to the problematic APK file.
  • apk_all_name: The name of the APK file to be repaired.
  • decomp_path: The output directory path of the decompiled APK file.
  • orginal_issue_path: The location of the backup file for the original detection report of the problematic APK to be repaired.
  • repair_path: The location of the repaired APK file.
  • apktool_path: The location of apktool

The set of candidate attributes is provided by ConfDroid, and the specific implementation details can be referred to at: https://sites.google.com/view/confdroid

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages