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.
https://forms.gle/GGtPYgYPSfoREYBv5
https://drive.google.com/file/d/136trbD78Z0P0r4b5OZp1xzgCbz-ZdGKp/view?usp=drive\_link
- Windows10
- Python:3.8
- ApkTool:2.10.0
- Android SDK:API 35+
- 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 the following command in the directory where the
main.pyis located to execute DroidPalette.apk_all_namemeansThe name of the APK file to be repaired,apk_pathmeansThe name of the APK file to be repairedandrepair_pathmeansThe 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
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
