0x192 / 0x192/universal-android-debloater

"Extract APK" button when selecting

Abierto
#1,107 1 comentario 0 reacciones 0 asignados Ver en GitHub
enhancement
Lenguaje dominante
Rust
Estrellas
19.9k
Forks
1.1k
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

**Describe the feature you want**
UAB should have an "Extract APK" for selected packages. The APKs would be sent to a folder called "Extracted APKs", with names like "\ - \.apk". A .txt log file would also be included, with a list of the extracted packages, their full path and the date and time they were extracted at.

**Equivalent commands**
Currently and AFAIK, APKs can be manually estracted using `adb shell` from non-root folders (/vendor/, for example, is restricted on unrooted devices) with a series of commands.

```
> adb shell pm list packages | findstr "facebook"
> adb shell pm path com.facebook.katana
> adb pull "/data/app/~~dBkYfgsVvQqPra3sFTkhqA==/com.facebook.katana-M00C7ILnQ-09CKYb4D5_uQ==/base.apk" "Extracted APKs/base - com.facebook.katana.apk"
> adb pull "/data/app/~~dBkYfgsVvQqPra3sFTkhqA==/com.facebook.katana-M00C7ILnQ-09CKYb4D5_uQ==/split_arservicesoptional.apk" "Extracted APKs/split_arservicesoptional - com.facebook.katana.apk"
[…]
```

**Example log file:** `C:\Android\UAB\Extracted APKS\Extracted APKs.txt`

```
UAB EXTRACTED APKS
# Extracted 21 files at at 2025-06-29T15:38:02+02:00
Package name: com.facebook.katana
Extracted files:
- C:/Android/UAB/Extracted APKs/base.apk
- C:/Android/UAB/Extracted APKs/split_arservicesoptional.apk
- C:/Android/UAB/Extracted APKs/split_cgnativeplayer.apk
- C:/Android/UAB/Extracted APKs/split_cgwebrtc.apk
- C:/Android/UAB/Extracted APKs/split_heliumcore.apk
- C:/Android/UAB/Extracted APKs/split_heliumiab.apk
- C:/Android/UAB/Extracted APKs/split_i18n_it_IT.apk
- C:/Android/UAB/Extracted APKs/split_instantgames.apk
- C:/Android/UAB/Extracted APKs/split_instantgamesads.apk
- C:/Android/UAB/Extracted APKs/split_papaya.apk
- C:/Android/UAB/Extracted APKs/split_papayaanalyticstorch.apk
- C:/Android/UAB/Extracted APKs/split_papayatorch.apk
- C:/Android/UAB/Extracted APKs/split_photo3djni.apk
- C:/Android/UAB/Extracted APKs/split_pytorch.apk
- C:/Android/UAB/Extracted APKs/split_s_arservicesoptional_slam.apk
- C:/Android/UAB/Extracted APKs/split_s_papayaanalyticstorch_papayatorch.apk
- C:/Android/UAB/Extracted APKs/split_s_papayaanalyticstorch_papayatorch_torchedlooper.apk
- C:/Android/UAB/Extracted APKs/split_s_papayatorch_torchedlooper.apk
- C:/Android/UAB/Extracted APKs/split_s_smartcropnative_smartplacementnative.apk
- C:/Android/UAB/Extracted APKs/split_s_smartcropnative_smartplacementnative_smarttrim.apk
- C:/Android/UAB/Extracted APKs/split_smartcropnative.apk
Original paths:
- /data/app/~~dBkYfgsVvQqPra3sFTkhqA==/com.facebook.katana-M00C7ILnQ-09CKYb4D5_uQ==/base.apk
- /data/app/~~dBkYfgsVvQqPra3sFTkhqA==/com.facebook.katana-M00C7ILnQ-09CKYb4D5_uQ==/split_arservicesoptional.apk
- /data/app/~~dBkYfgsVvQqPra3sFTkhqA==/com.facebook.katana-M00C7ILnQ-09CKYb4D5_uQ==/split_cgnativeplayer.apk
- /data/app/~~dBkYfgsVvQqPra3sFTkhqA==/com.facebook.katana-M00C7ILnQ-09CKYb4D5_uQ==/split_cgwebrtc.apk
- /data/app/~~dBkYfgsVvQqPra3sFTkhqA==/com.facebook.katana-M00C7ILnQ-09CKYb4D5_uQ==/split_heliumcore.apk
- /data/app/~~dBkYfgsVvQqPra3sFTkhqA==/com.facebook.katana-M00C7ILnQ-09CKYb4D5_uQ==/split_heliumiab.apk
- /data/app/~~dBkYfgsVvQqPra3sFTkhqA==/com.facebook.katana-M00C7ILnQ-09CKYb4D5_uQ==/split_i18n_it_IT.apk
- /data/app/~~dBkYfgsVvQqPra3sFTkhqA==/com.facebook.katana-M00C7ILnQ-09CKYb4D5_uQ==/split_instantgames.apk
- /data/app/~~dBkYfgsVvQqPra3sFTkhqA==/com.facebook.katana-M00C7ILnQ-09CKYb4D5_uQ==/split_instantgamesads.apk
- /data/app/~~dBkYfgsVvQqPra3sFTkhqA==/com.facebook.katana-M00C7ILnQ-09CKYb4D5_uQ==/split_papaya.apk
- /data/app/~~dBkYfgsVvQqPra3sFTkhqA==/com.facebook.katana-M00C7ILnQ-09CKYb4D5_uQ==/split_papayaanalyticstorch.apk
- /data/app/~~dBkYfgsVvQqPra3sFTkhqA==/com.facebook.katana-M00C7ILnQ-09CKYb4D5_uQ==/split_papayatorch.apk
- /data/app/~~dBkYfgsVvQqPra3sFTkhqA==/com.facebook.katana-M00C7ILnQ-09CKYb4D5_uQ==/split_photo3djni.apk
- /data/app/~~dBkYfgsVvQqPra3sFTkhqA==/com.facebook.katana-M00C7ILnQ-09CKYb4D5_uQ==/split_pytorch.apk
- /data/app/~~dBkYfgsVvQqPra3sFTkhqA==/com.facebook.katana-M00C7ILnQ-09CKYb4D5_uQ==/split_s_arservicesoptional_slam.apk
- /data/app/~~dBkYfgsVvQqPra3sFTkhqA==/com.facebook.katana-M00C7ILnQ-09CKYb4D5_uQ==/split_s_papayaanalyticstorch_papayatorch.apk
- /data/app/~~dBkYfgsVvQqPra3sFTkhqA==/com.facebook.katana-M00C7ILnQ-09CKYb4D5_uQ==/split_s_papayaanalyticstorch_papayatorch_torchedlooper.apk
- /data/app/~~dBkYfgsVvQqPra3sFTkhqA==/com.facebook.katana-M00C7ILnQ-09CKYb4D5_uQ==/split_s_papayatorch_torchedlooper.apk
- /data/app/~~dBkYfgsVvQqPra3sFTkhqA==/com.facebook.katana-M00C7ILnQ-09CKYb4D5_uQ==/split_s_smartcropnative_smartplacementnative.apk
- /data/app/~~dBkYfgsVvQqPra3sFTkhqA==/com.facebook.katana-M00C7ILnQ-09CKYb4D5_uQ==/split_s_smartcropnative_smartplacementnative_smarttrim.apk
- /data/app/~~dBkYfgsVvQqPra3sFTkhqA==/com.facebook.katana-M00C7ILnQ-09CKYb4D5_uQ==/split_smartcropnative.apk
```

**Side request**
It would be helpful to visualize the app name inside of the main UAB screen.

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Línea de trabajo

Look for the UI code handling package selection and existing button actions. The feature requires integrating ADB commands (pm list packages, pm path, adb pull) to extract APKs. Need to create a new 'Extract APK' button, manage file output to an 'Extracted APKs' folder, and generate a log file. Check how the app currently interacts with ADB and file system operations.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
android, rust
Área
cli, desktop, tooling
Tipo de issue
Nueva funcionalidad
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bien especificado
Aptitud para principiantes
50/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.