0x192 / 0x192/universal-android-debloater

"Extract APK" button when selecting

未關閉
#1,107 1 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
enhancement
主要語言
Rust
星號
19.9k
分支
1.1k
PR 合併指標
30 天內沒有已合併 PR

描述

**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.

貢獻指南

這個儲存庫沒有索引到貢獻指南

研究方向

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.

由索引模型根據 Issue 內容生成。

評估

技術堆疊
android, rust
領域
cli, desktop, tooling
Issue 類型
功能
難度
3/5
預估耗時
1-2 天
活躍度
停滯
描述清晰度
描述清楚
新手友好度
50/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。