Skip to content

How to contribute

Ricardo Fernández Serrata edited this page May 16, 2025 · 27 revisions

There is a lot of packages descriptions to improve. Some can be slightly incorrect and some are nearly nonexistent. You know what you have to do! :)

You can also add new packages:

  1. All non-documented packages can be displayed by selecting the unlisted filter.

  2. Try to document each new package and create a pull request (please read this first) or create an issue.

The UAD-ng list is a JSON (we're reconsidering that) that can be found here (for now) and here (future).

A package is defined like this:

"com.google.mainline.telemetry": {
    "list": "Google",
    "description": "First line of the a description\nThis is a new line",
    "dependencies": null,
    "neededBy": null,
    "labels": null,
    "removal": "Unsafe"
},
  • list: can be Google, Misc (miscellaneous), Oem, Aosp, Pending, Carrier (ISP).
  • removal: can be Recommended, Advanced, Expert, Unsafe (more info)
  • dependencies & neededBy ("reverse-deps", might be removed because it's redundant): Define relationships between packs. They're not intended to be an exhaustive set. Only the absolutely-required deps are listed. Unlike a "typical" package-manager, UAD-ng doesn't auto-remove dependent packs when their deps are removed (this might change in the future).
  • labels: Will be removed in a future version, especially when description search is implemented.

Decompile an APK

Extracting packages

Tip

We're considering (not confirmed) to add a feature (to UAD-NG) to fetch (pull) packages easily. In the meantime, you can use this tool made by a user (thanks!).

You can also run this script on Termux, to copy APKs without ADB. You can also use it via ADB, but you have to adb push it, then run it on the Android using adb shell (this is not the full command, it won't work).

It is assumed that you've already connected your device to ADB (no need for UAD*)

Note

If there are multiple devices connected simultaneously, you must insert -s [IP address or serial ID] after adb (like this adb -s my_phone shell), to disambiguate which one you want to select.

  1. To list all the packages on the device, run adb shell pm list packages
  2. Let's say there's a package you need to extract, run adb shell pm path com.test
  3. You'll get something like package:/odm/overlay/test.apk
  4. Delete the package: part and copy the rest, so for example /odm/overlay/test.apk
  5. Now you take the APK from the device by adb pull /odm/overlay/test.apk
  6. Finally, you have the APK file on your PC (in the folder where you opened your terminal)

For more info about the PM of your Android device (there are different versions), run:

adb shell pm help

Useful apps

Useful online services

Clone this wiki locally