Giter Site home page Giter Site logo

badabing2005 / pixelflasher Goto Github PK

View Code? Open in Web Editor NEW
971.0 17.0 75.0 32.64 MB

Pixel™ phone flashing GUI utility with features.

License: GNU General Public License v3.0

Python 99.96% Batchfile 0.01% Shell 0.03%
python wxpython windows root flash pyinstaller pixel rom adb android

pixelflasher's Introduction

PixelFlasher Icon

PixelFlasher

License Github Releases

DESCRIPTION

As the name suggests this is an application to flash (update) Pixel™ phones (possibly all Google™ made phones/tablets, YMMV.)
PixelFlasher at its core is a UI layer (with bells and whistles) on top of adb / fastboot commands, hence many of its features can be used on non Pixel devices as well. (YMMV).
The executable which can be found in releases section is self contained and does not require Python™ to be installed on the system.

The application has two modes, normal mode (basic) and advanced mode (expert).

Basic mode: Should suit most users. Some of the features in basic mode are:

  • Simple UI interface, click and go. No more command line, no more placing all files in one directory.
  • boot.img / init_boot.img management UI, select the boot / init_boot file to patch and click the patch button. Fully Automated patching with Magisk (without manual steps) and perform upgrades without losing root.
    No more manually extracting files transferring to the phone, patching / re-flashing and doing multiple reboots.
    No more setting airplane mode and clearing storage to retain Safetynet / Play Integrity passing.
  • Display details of boot.img (or init_boot.img for Pixel 7 or newer devices).
    • SHA1 checksum.
    • Origin (file it was extracted from).
    • Whether it is patched or not, and if it is patched.
      • What version of Magisk was used to patch it.
      • On what device it was patched.
      • Date of patching.
      • The SHA1 of the source boot.img file.
    • Option to Live boot from a choice of boot.img or patched image.
    • Flash just the boot / init_boot image.
  • Choose to keep data or wipe data while flashing (Full OTA flashing always keeps data).
  • Ability to flash even if multiple devices are connected to the computer.
  • Option to flash to inactive slot (Full OTA always flashes to inactive slot).
  • Display information about the phone.
    • ID
    • Hardware model.
    • Device architecture.
    • Current installed firmware (build).
    • If it is rooted with Magisk.
    • Magisk version (Magisk Tools).
    • Magisk Manager version (the app).
    • List installed Magisk modules.
    • Connection mode (Adb | Fastboot | Sideload | Recovery).
    • Bootloader version.
    • Active slot.
    • Android OS API version.
    • Convenient quick links to download Android platform tools or device firmware.
    • And a lot more...
  • Magisk Manager installation UI, screenshot. Supported versions:
    • stable (official)
    • beta (official)
    • canary (official)
    • debug (official)
    • delta
    • special builds that disable modules (used to recover from bootloops due to bad module(s) when safe mode does not work).
  • Magisk Backup Manager, screenshot.
    • List all Magisk backups currently on the device.
    • Highlight the one that is backup of the current installed version.
    • Delete backups.
    • Manually add backup from PC.
    • Auto Backup: PixelFlasher figures out what needs to be backed up, and if it finds it on the PC, it creates the backup.
  • Magisk settings management, screenshot:
    • Enable / disable Magisk modules, this comes in handy to disable suspect modules before an upgrade.
    • Install Magisk module.
    • Enable / disable Zygisk.
    • Enable / disable Magisk denylist.
    • Add / remove application to Magisk denylist (through PixelFlasher's App Manger).
    • Grant / deny / SU permissions to an app, with control of (through PixelFlasher's App Manger):
      • Enable / disable notifications
      • Enable / disable logging
      • Grant until (Forever, 10 min, 20 min, 30 min, 60 min)
    • Revoke SU permissions
  • Display Android Platform Tools (SDK) version and warn / block if the version is old.
  • Install APK (an app) file from the computer onto the device.
  • Wireless Manager, to wirelessly connect to adb debug or adb wireless with pairing support.
  • Advanced features are hidden to keep the interface simple and easy to follow.
  • Easily open ADB shell to the device.
  • Support for Genymotion Scrcpy to mirror Android devices (video and audio) via USB or over TCP/IP, and allows to control the device with the keyboard and the mouse of the computer.
  • A lot of checks and validations for smooth operation with quite verbose console output to inform about every step of the operation.
  • Automatic check for program updates.
  • Package (Application) Manager, screenshot:
    • Disable (Freeze)
    • Enable
    • Uninstall
    • Install APK
    • Download APK
    • Multi-Select
    • Show Package Details.
    • Add app to Magisk denylist.
    • Control app's superuser permissions, screenshot.

Expert mode: (should only be turned on by experienced users). In addition to the basic features, you get:

  • The ability to flash custom ROM (with or without patching boot / init_boot)
  • Option to flash to both slots.
  • Options to disable verity and or verification.
  • Ability to change the active slot.
  • Ability to live boot to custom boot / init_boot (temporary root).
  • Ability to boot to recovery, fastbootd, safe mode, download mode and sideload.
  • Ability to flash custom image: boot, recovery, radio, kernel, ...
  • Ability to sideload an image.
  • Lock / Unlock bootloader.
  • Option to gain temporary root (good for testing or checking things out).
  • SOS Disable Magisk modules to get out of bootloop (experimental).
  • Force option when flashing.
  • Option to skip rebooting.
  • Option to wipe.
  • Partition Manager:
    • Erase single or multi partitions.
    • Dump / create backup of single or multi partitions and save to PC.

Prerequisites

Installation

PixelFlasher doesn't have to be installed, just double-click it and it'll start.
Check the releases section for downloads.

Supported platforms

  • Windows
  • MacOSX
  • Linux (See this if you're having issues with a Linux build.)

Status

Scan the list of open issues for bugs and pending features.

Note This is my first wxPython based project. I got ideas and inspiration from nodemcu-pyflasher.
If you have constructive feedback as for how to improve the code please do reach out to me.

Build it yourself

If you want to build this application yourself you need to: Setup

  • Download or clone the repository.
  • Install Python 3.x and Pip (it comes with Python™ if installed from python.org)
    See note below if building on MacOS.
  • Install virtualenv pip3 install virtualenv
  • Create a virtual environment with:
    • On Windows: virtualenv --python <PATH_TO_PYTHON_EXE> venv
    • On Linux / MacOS: python3 -m venv venv
  • Activate the virtual environment with:
    • On Windows: .\venv\Scripts\activate
    • On Linux / MacOS: . venv/bin/activate
  • Run pip3 install -r requirements.txt

A note on Linux: As described on the downloads section of wxPython, wheels for Linux are complicated and may require you to run something like this to install wxPython correctly:

# Assuming you are running it on Ubuntu 20.04 LTS with GTK3
pip install -U \
    -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-20.04 \
    wxPython

A note on Windows If you run into troubles installing wxPython on Windows, you can download wxPython wheel file matching your version of Python™ from here Look for cp310 if your python™ version is 3.10 You install it with pip, for example this would be the command to install 3.10 version.

pip install wxPython-4.1.2a1.dev5308+2258f215-cp310-cp310-win_amd64.whl

A Note on MacOS Don't install Python™ on MacOS, instead brew install wxpython, this will install Python™ 3.9.12, the installed wxPython will only work with this version of Python. If python 3.9.12 is not in the system path, you can find it here:
/usr/local/Cellar/[email protected]/3.9.12/Frameworks/Python.framework/Versions/3.9/bin
It is advised that you add this to your system PATH On MacOS, you should also install create-dmg

brew install node graphicsmagick imagemagick 
npm install --global create-dmg

Build Run build.bat on Windows or build.sh on Linux / MacOS.

Usage

Basic Mode

Image of PixelFlasher GUI

  1. First thing to do is select Android™ Platform Tools, if Android™ Platform Tools is already in your PATH environment, the application will detect it and pre-populate it.
    Otherwise you'd have to select where it is installed.
    You can download the latest Android™ Platform Tools by clicking the Image of link next to it.
    If you have multiple versions, you can select another version, although it is best to always use the most recent version (The selected version will be identified and displayed.)
  2. Hit the Scan button to detect connected devices, the application will detect all connected devices
    (in adb, fastboot, sideload, recovery modes) and populate the combo box (2).
  3. Select your device from the list in the combo box. The following information about the connected device is displayed.
    • (1st field) Rooted devices will be identified with a checkmark ✓. Note: If you want PixelFlasher to detect root, or automatically use Magisk to patch boot.img, you need to grant root permissions to shell in Magisk.
      Image of shell root access
    • (1st field) Non-Rooted devices will be identified with a ✗.
    • (1st field) Devices in fastboot mode will be identified with a ? (in fastboot mode, root status cannot be determined).
    • (2nd field) (adb), (f.b), (sid) or (rec) to indicate connection mode adb / fastboot / sideload / recovery.
    • (3rd field) Device ID.
    • (4th field) Device hardware.
    • (5th field) Current running firmware (in fastboot mode current firmware cannot be determined).
  4. Next select the full OTA (recommended) or factory zip file (don't unzip), the application will recognize the phone model from the image name and validate the SHA-256 checksum.
    You can download factory images by clicking the Image of link next to it. You can download full OTA images from here. Note: Because both firmware package and full OTA are complete images, you can upgrade to any newer version without worrying about jumping versions (downgrades with factory image are possible only with wipe data).
  5. Process the full OTA or factory image. PixelFlasher will extract boot.img (or init_boot.img for Pixel 7 or newer devices) file from the image and populate it in the list below (5).
  6. Select boot.img (or init_boot.img for Pixel 7 or newer devices) from the list, the selected file can be patched (6), or flashed (10).
  7. Optional: Select this option if you want to patch the boot.img (or init_boot.img for Pixel 7 or newer devices) with Magisk. If Magisk is not already installed on your phone, PixelFlasher will install it for you. Your phone does not need to be rooted to create a patched file. This would be the typical choice for monthly updates.
    This option will allow updating the phone without losing root (not even temporarily).
    Note: See note above for granting root permissions to shell.
    Whether the phone is rooted or not, the whole process is without any manual step.
  8. If you want to flash (10) a patched boot.img (or init_boot.img for Pixel 7 or newer devices) select the newly added entry.
    The following details are listed.
    • Image of patched-boot Indicates that the selection is patched.
    • SHA1 is (shortened for display only) sha1 of boot.img (or init_boot.img for Pixel 7 or newer devices)
    • Source SHA1 (shortened for display only) SHA1 of source boot.img extracted from the image (This should be the same as SHA1 of an unpatched boot.img)
    • Package Fingerprint is just the filename portion of the image (without the extension).
    • Patched with Version indicates the version of Magisk / KernelSU / Apatch used to patch the image (if applicable).
    • Patched Method indicates what method PixelFlasher used to create a patch (possible options: root, app, uiautomator, manual)
    • Patched on Device indicates the device model that performed the patching. You should always use patched images that match the model of the device that it will be flashed on.
    • Date is the either the date the boot.img was extracted, or the date it was patched.
    • Package Path indicates the file from which boot.img (or init_boot.img for Pixel 7 or newer devices) was extracted.
  9. Select the Flash Mode, PixelFlasher will automatically select applicable flash mode based on the selected image type.
    • If full OTA image is selected in step 4:
      • Full OTA: Will flash full OTA image in sideload mode. Features of this mode:
        • This will always flash to inactive slot only, (hence why the option to flash to both slots is disabled) similar to how OTA updates happen on the phone.
        • It will always be Keep Data, there is no option for Wipe, hence why the option is disabled.
        • If something goes wrong during flashing, the active flash is unaffected and the phone boots back to active functional slot.
        • If you flash to both slots (ie flash twice in a row) then both slots would be bootable.
        • Your phone's bootloader does not have to be unlocked to be able to flash full OTA image (stock boot only).
        • You cannot downgrade with OTA, the version being installed has to be equal or higher.
    • If factory firmware is selected in step 4:
      • Keep Data: In this mode -w flag is removed from the flash scripts so that data is not wiped. This is commonly known as dirty flashing.
      • WIPE all data: As the text suggests, this will wipe your data, use it with caution!
        If this mode is selected PixelFlasher will ask for confirmation during the flashing phase.
      • Dry Run: In this mode, the phone will reboot to bootloader, and then mimic the flash actions (i.e. reboot into bootloader) without actually flashing anything (it prints to the console the steps it would have performed if dry run was not chosen). This is handy for testing to check if the PixelFlasher properly is able to control fastboot commands.
  10. Optional: Open Magisk Modules Manager and disable (uncheck) modules known to cause issues during upgrades (highly recommended). (The list below has never caused issues for me, so I keep them enabled YMMV).
    Image of PixelFlasher GUI
  11. Flash Pixel Phone This is the final step, to actually flash the phone in the selected Flash Mode.
    Note: Unlike the previous versions of the PixelFlasher, all the options are dynamic, i.e. depending on what you select before clicking the Flash button, there is no more concept of prepared package. PixelFlasher will first present you the selected options and ask for your confirmation if you want to proceed with flashing.
  12. Monitor the console output and observe the performed actions and their outcomes.
  13. In case of trouble, click on Support button to generate sanitized (redacted) support logs archive.

Expert Mode

To enable the export mode use the File Menu | Advanced Configuration and select Enable Advanced Options Image of PixelFlasher GUI Image of PixelFlasher GUI

In this mode the following additional options are exposed (green bounding boxes), below notes are more for enumeration than a guide, as they should be trivial and obvious to an expert.

  1. Option to Change the Active Slot (the inactive slot is automatically selected).
    Options to reboot to Recovery, Download, Safe Mode.
  2. Options to Lock / Unlock bootloader, Option to disable Magisk modules when bootlooping, partitions manager.
  3. Apply Custom ROM. This replaces the factory ROM image with the selected file.
    PixelFlasher extracts boot.img (or init_boot.img for Pixel 7 or newer devices) from the ROM image and displays below for selection or patching. Please make sure to read the documentation of the chosen ROM, as each custom ROM instructions could be different.
    To be clear, this is what PixelFlasher does internally when this mode is selected, please understand it, and don't use it if the selected ROM guide does not fit the bill. You've been warned!
    • Keeps stock bootloader and radio images.
    • Replaces the stock ROM image with the selected custom ROM image.
    • Flashes in the chosen Flash Mode just like a stock image, i.e. bootloader, custom ROM and radio images in the original order that they were in the stock firmware.
    • Patching boot.img (or init_boot.img for Pixel 7 or newer devices) can be performed if the option is selected. You can select any of the listed files.
    • Flash Mode is similar to basic flash mode described above in step 7.
  4. Custom Flash. select this to switch from flashing a Factory Image to flashing a single file.
  5. Browse to select a a valid image file (.img or .zip). Or select a boot.img from the list above and click on the paste button to paste the selected boot.img into the file selection. Choose the dropdown to select image type.
    • boot (can be flashed to Live or boot) - Expected file type .img
    • bootloader - Expected file type .img
    • init_boot - Expected file type .img
    • dtbo - Expected file type .img
    • product - Expected file type .img
    • radio - Expected file type .img
    • recovery - Expected file type .img
    • super_empty - Expected file type .img
    • system - Expected file type .img
    • system_ext - Expected file type .img
    • system_other - Expected file type .img
    • vbmeta - Expected file type .img
    • vbmeta_system - Expected file type .img
    • vbmeta_vendor - Expected file type .img
    • vendor - Expected file type .img
    • vendor_boot - Expected file type .img
    • vendor_dlkm (the device will be put into fastbootd mode during this operation) - Expected file type .img
    • image - Expected file type .zip
    • SIDELOAD - Expected file type .zip
      Select the appropriate flash options. Note: For Tensor devices (Pixel 6 or newer devices) When Flash to both slots option is selected, Pixelflasher flashes each slot individually to overcome a Google bug that fails with the option --slot=all

Credits

  • First and foremost Magisk by John Wu which made rooting Pixel™ phones possible, without it none of this would have mattered.
  • Big thanks to [ryder203], [t-ryder] for his valuable ideas, feedback and testing. Your contributions are very much appreciated.
  • [Homeboy76], [v0latyle] and [roirraW-edor-ehT] at xda for their excellent guides [here, here and here] on Pixel™ series phones. This program could not have been possible without their easy to follow guides.
    I strongly encourage all beginners to follow those guides rather than use this program, it is important to understand the basic steps involved before diving into one click tools or advanced tasks.
  • Marcel Stör's nodemcu-pyflasher source code which jump started my introduction to wxPython and eventually this program.
  • wxPython Team for their cross-platform GUI toolkit for Python.
  • JackMcKew for pyinstaller Github Actions.
  • Endless counts of xda members and their posts that tirelessly answer questions and share tools. Too many to enumerate.
  • Artwork / graphics / icons, designed and supplied by: [ryder203], [t-ryder] based on material-design-icons
  • vm03's payload_dumper source code to extract images from payload.bin files.

Troubleshooting

If you need support or assistance, please generate and provide a support file from within PixelFlasher. You can hit that big Support button on the main screen, or select it from the Help menu. The generated support.zip file is sanitized (redacted) to keep your sensitive information (username device id ...) private.

  • If your anti-virus program is telling you that PixelFlasher is a malware, or you are concerned in any way, please check this post about false positives.

Disclaimer

********************************************************************************
PLEASE DO YOUR PART AND READ / SEARCH / RESEARCH BEFORE USING THIS PROGRAM
AND/OR ATTEMPTING ANY MODIFICATIONS ON YOUR DEVICE.
THIS PROGRAM ASSUMES THAT YOU ALREADY KNOW HOW TO AND HAVE ALREADY UNLOCKED
YOUR BOOTLOADER, ALREADY ROOTED YOUR DEVICE, AND KNOW HOW TO USE ANDROID SDK
PLATFORM-TOOLS, ETC.
THIS TOOL IS SIMPLY MY QUICK WAY OF UPDATING THE FIRMWARE WHILE ROOTED WITH
MAGISK, WITHOUT LOSING DATA / REQUIRING A WIPE.

MODIFYING YOUR DEVICE COMES WITH INHERENT RISKS, AND IT'S NOT MY RESPONSIBILITY
IF YOU LOSE YOUR DATA OR BRICK YOUR DEVICE. THE TOOL I SHARE HAVE WORKED FOR ME,
BUT THAT DOESN'T MEAN THAT YOU MAY NOT RUN INTO PROBLEMS. **BACKUP YOUR DATA.**
********************************************************************************

pixelflasher's People

Contributors

adindrabkin avatar badabing2005 avatar hldr4 avatar lautitoti avatar samueltardieu avatar scottismyname avatar superman32432432 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pixelflasher's Issues

set custom temp directory

Hi,

Would it be possible to add an advanced option to set a custom "temp/working"-directory?
My hardened Windows system will not run executables from the normal user temp folder, which leads to an error while trying to process the rom and unpack the boot.img. (7z.exe is blocked)

If I would be able to set a custom "temp/working"-directory from PixelFlasher, this would be solved and my system can remain secure.

thank you in advance.

Inform users regarding Set-ExecutionPolicy RemoteSigned in README

Hi badabing2005, maybe give users a hint in the howto so they can enable PowerShell Scripts if it's disabled by default like it was for me.
I had to execute Set-ExecutionPolicy RemoteSigned and enable scripts in a PowerShell as admin to even start the script.

"Flash to both slots" missing

When updating from below Android 13, a warning is shown that ways Selecting the option "Flash to both slots Will take care of that.". There's no "Flash to both slots" checkbox on the main screen.
pixel_flasher

List Magisk Modules crash

Hi badabing2005,
Thanks for creating this tool 👍 This tool makes it really easy to flash pixel images.

Using latest version (2.4).
When i list the magisk modules, i get following error:
image

Thank you for looking at this 👍
Regards
Chris

Failed to process firmware zip: UnboundLocalError: local variable 'files_to_extract' referenced before assignment

The following error has occurred when processing firmware zip file:

==============================================================================
 2022-10-15 18:44:56 PixelFlasher 4.3.0.0         Processing firmware file ...
==============================================================================
7-Zip (z) 21.07 (x64) : Copyright (c) 1999-2021 Igor Pavlov : 2021-12-26
64-bit locale=en_US.UTF-8 Threads:16
Scanning the drive for archives:
1 file, 2510199318 bytes (2394 MiB)
Extracting archive: /Users/blueset/Downloads/raven-tp1a.221005.002-factory-d61dff29.zip
--
Path = /Users/blueset/Downloads/raven-tp1a.221005.002-factory-d61dff29.zip
Type = zip
Physical Size = 2510199318
Everything is Ok
Folders: 1
Files: 6
Size:       2528194928
Compressed: 2510199318
Traceback (most recent call last):
  File "Main.py", line 850, in _on_process_firmware
  File "modules.py", line 648, in process_file
UnboundLocalError: local variable 'files_to_extract' referenced before assignment

Version info:

PixelFlasher 4.3.0.0 started on 2022-10-15 18:41:57
Platform: darwin
Configuration Path: /Users/blueset/Library/Application Support/PixelFlasher
null
System Default Encoding: utf-8
File System Encoding:    utf-8

2022-10-15 18:41:57 Selected Platform Tools Path:
/usr/local/bin.
SDK Version: 33.0.3-8952118

PixelFlasher Hanging right after vendor_boot_b image OKAY message

Hello,

Attached is the support.zip file as well.

Mac M1 Air Monterey 12.5.1
Phone: Pixel 6a (New out of the box with the bootloader unlocked)
Image: Android 12 SD2A.220601.003.B1, Jul 2022

It doesn't seem to progress past the fastbootd screen after it reboots past "Writing 'vendor_boot_b' OKAY [ 0.086s]"

I've let it sit in past attempts for 15 minutes or longer and the phone just sits on the fastbootd screen. I've tried the following options:

Basic Mode:
Flash to inactive with both keep data and WIPE data options
Unchecked Flash to inactive slot with those same options
Installed Magisk apk via tool and this is succesfull. I see the app in the app drawer and on subsequent adb scans the phone shows up as having Magisk installed.

Advanced Mode:
Flash to both slots with both keep data and WIPE data

None of these yield a different outcome. Phone boots back into android 12.
pixelflashersupport.zip

4.1.0 Linux: abend during "Creating PACKAGE_BOOT record"

Linux Mint XFCE 20.3. Full log attached.

debug: Creating PACKAGE_BOOT record, package_id: 1 boot_id: 2
Package_Boot ID: 2
Traceback (most recent call last):
  File "Main.py", line 1528, in _on_patch_boot
  File "modules.py", line 1618, in patch_boot_img
  File "modules.py", line 163, in populate_boot_list
TypeError: ListCtrl.SetItem(): arguments did not match any overloaded call:
  overload 1: argument 1 has unexpected type 'int'
  overload 2: argument 3 has unexpected type 'NoneType'

PixelFlasher console log.txt

Pixel 3 EDL Fix

can you add edl brick fix ? flashing edl image or something.

not sure it's worth the trouble

but it would be cool if there were a script for partition adjustments for older Pixels. Pixel 2xl to be exact. would like to upgrade to 13

Is it possible to add a backup menu ?

Due to a lack of custom recovery software on Oriole & Raven, is it possible to add an ADB / fastboot menu for backup and restore option like TWRP ?

I don't even know if this is possible, I'm just asking

ran out of storage space issue.

I'm having this exact problem with a pixel 6a, it was rooted on the november update, I was trying to get the december update to flash, and now it's seemingly stuck in fastboot mode. Obviously I could just delete some things to free up some space, but how do i get into the filesystem through adb to do that?

Everything was going good until your ran out of storage space.

extracting product.img (2663 MB) to disk...ziparchive W 10-04 13:35:02 11940 11940] Zip: unable to allocate 2792894464 bytes at offset 0: No space left on device
fastboot: error:
failed to extract 'product.img': I/O error

Originally posted by @badabing2005 in #26 (comment)

Can't flash

I ran the script with PowerShell -NoExit ./PixelFlasher.ps1 to capture this: (translation below)

Do you want to reboot the phone into bootloader mode and pause?
[Y] Yes  [N] No  [?] Hilfe (Standard ist "Y"): y
Press any key to continue:


Do you want to run flash_all.bat
and update the phone?
[Y] Yes  [N] No  [?] Hilfe (Standard ist "N"): y

Please make sure your phone is plugged in and accessible via adb
---------------------------
C  = Check phone connection
A  = Abort
---------------------------
Please make a selection > c
Checking if the phone is in bootloader mode ...
Phone connection is good
adb.exe: no devices/emulators found

Sorry for Asking again, are you really sure you want to run flash_all.bat
and update the phone?
[Y] Yes  [N] No  [?] Hilfe (Standard ist "N"): y
Executing oriole-sq1d.220205.003/flash_all.bat ...
& : Die Benennung "oriole-sq1d.220205.003/flash_all.bat" wurde nicht als Name eines Cmdlet, einer Funktion, einer
Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad
korrekt ist (sofern enthalten), und wiederholen Sie den Vorgang.
In C:\platform-tools\PixelFlasher.ps1:752 Zeichen:11
+         & "$unzippedFolder/flash_all.bat"
+           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (oriole-sq1d.220205.003/flash_all.bat:String) [], CommandNotFoundExcepti
   on
    + FullyQualifiedErrorId : CommandNotFoundException


Done!
PS C:\platform-tools>

German -> English

Executing oriole-sq1d.220205.003/flash_all.bat ...
& : The name "oriole-sq1d.220205.003/flash_all.bat" was not recognized as the name of a cmdlet, a function, a script file
script file or executable program. Check the spelling of the name, or whether the path is
is correct (if included), and repeat the procedure.
In C:\platform-tools\PixelFlasher.ps1:752 characters:11

Erase specific partition

Adding the option to erease specific partition would greatly help in troubleshooting specific issues in advance mode.
Custon flash doesn't erase the actual partition, maybe include the optio to erease the partion we are trying to flash?

I'm not too crazy about me either

I rooted my new pixel 6 with Pixel flasher, worked flawlessly.
ran it for a few days installed various magisk modules without
any problems. then decided to flash custom rom, RiceDroid.
made a mistake somehow and now have bootloop. tried installing latest
factory img, but says can;t format because of wrong format, raw
whatever that means. stupid newb mistake appreciate any help or
corrective procedures.
thanks

Error on newest verison (4.1.3)

Running:
Latest Platform tools (33.0.3)
Latest PixelFlasher (4.1.3)
Latest Image (TP1A.221005.002, Oct 2022)

After selecting my phone in ADB connected devices im getting the following error:

Traceback (most recent call last):
File "Main.py", line 815, in _on_select_device
File "Main.py", line 618, in _print_device_details
File "phone.py", line 323, in magisk_app_version
UnboundLocalError: local variable 'version' referenced before assignment

Continuing after receiving/ignoring this error I get an additional error when attempting to apply patch to boot:

Traceback (most recent call last):
File "Main.py", line 1529, in _on_patch_boot
File "modules.py", line 1360, in patch_boot_img
File "phone.py", line 331, in get_uncached_magisk_app_version
File "phone.py", line 323, in magisk_app_version
UnboundLocalError: local variable 'version' referenced before assignment

ADB not found even if it's there

ADB is enabled on device in dev options and permitted, device is connected via USB, latest platform-tools are in place.
Flasher outputs error anyway. All the stuff is in C:\platform-tools ... The stuff in German that PowerShell gives me says:
Suggestion [3,General]: The adb command was not found. However, it exists in the current location. Windows PowerShell does not load commands from the current location by default. If you trust this command, type ".\adb" instead. For more information, see get-help about_Command_Precedence.

Files not found

Do you want to copy patched boot.img from the phone? It will be copied locally
[Y] Yes  [N] No  [?] Hilfe (Standard ist "Y"): y

Please make sure your phone is plugged in and accessible via adb
---------------------------
C  = Check phone connection
A  = Abort
---------------------------
Please make a selection > c
Checking if the phone is connected and getting basic information ...
Pixel 6
Product Model             = Pixel 6
Hardware                  = oriole
Current Build             = google/oriole/oriole:12/SQ1D.220205.003/8069835:user/release-keys
Phone connection is good
/storage/emulated/0/Download/magisk_patched-24102_Ae2ll.im...e pulled, 0 skipped. 138.6 MB/s (67108864 bytes in 0.462s)
  Deleting stock boot.img file [oriole-sq1d.220205.003/image_unzipped/boot.img] ...
  Replacing boot.img with patched copy of boot.img ...
  Repackaging oriole-sq1d.220205.003/image-oriole-sq1d.220205.003.zip ...

7-Zip 19.00 (x64) : Copyright (c) 1999-2018 Igor Pavlov : 2019-02-21

Scanning the drive:
14 files, 4637760119 bytes (4423 MiB)

Creating archive: ../../oriole-sq1d.220205.003/image-oriole-sq1d.220205.003.zip

Add new data to archive: 14 files, 4637760119 bytes (4423 MiB)


Files read from disk: 14
Archive size: 2367497294 bytes (2258 MiB)
Everything is Ok

Do you want to reboot the phone into bootloader mode and pause?
[Y] Yes  [N] No  [?] Hilfe (Standard ist "Y"): y
Press any key to continue:


Do you want to run flash_all.bat
and update the phone?
[Y] Yes  [N] No  [?] Hilfe (Standard ist "N"): y

Please make sure your phone is plugged in and accessible via adb
---------------------------
C  = Check phone connection
A  = Abort
---------------------------
Please make a selection > c
Checking if the phone is in bootloader mode ...
Phone connection is good

Sorry for Asking again, are you really sure you want to run flash_all.bat
and update the phone?
[Y] Yes  [N] No  [?] Hilfe (Standard ist "N"): y
Executing oriole-sq1d.220205.003/flash_all.bat ...
fastboot: error: cannot load 'bootloader-oriole-slider-1.0-8062051.img': No such file or directory
Rebooting into bootloader                          OKAY [  0.000s]
Finished. Total time: 0.016s
fastboot: error: cannot load 'radio-oriole-g5123b-93368-211225-b-8029609.img': No such file or directory
Rebooting into bootloader                          OKAY [  0.000s]
Finished. Total time: 0.000s
ziparchive W 02-17 20:43:03  8424  2012] Unable to open 'image-oriole-sq1d.220205.003.zip': No such file or directory
fastboot: error: failed to open zip file 'image-oriole-sq1d.220205.003.zip': I/O error
Press any key to exit...

Unzip of march factory image fails

Logs as below

Preparing Package

Found Bundled 7zip.

zip/unzip operations will be faster

Unzipping Image: C:\Android\PixelFlasher\oriole-sp2a.220305.013.a3-factory-8bea92d1.zip into C:\Android\PixelFlasher ...

Unzip time1: 0.11537671089172363

ERROR: Unzipped folder oriole-sp2a.220305.013.a3 not found.

Aborting ...

There is no unzipped content in the folder so something isn't right. I've tried it both in a folder on my desktop and in the android folder with the same results

Not working on M1 Macbook Air, working fine on Intel iMac

Hi,

First, thanks for this nice tool !

I tried to root my Pixel 7 pro with your tool on the M1 Macbook Air, but it failed after flashing the bootloader (couldn't pass to radio/image flashing). So I bricked my phone, but was able to recover it by flashing manually each files. No big deal here! It seems like PixelFlasher couldn't reboot the phone to pass to the second flash, but I'm really not sure, as it was able to pass from adb to fastboot without issue.

After trying/failing a second time on the macbook I tried the tool on my Intel iMac and everything went smooth !

Tell me if you need more information.

Boot loop P6P

I just tried to flash and patch the 12.1.0 (SQ3A.220705.003.A3, Jul 2022, Verizon update for my Pixel 6 Pro. I was skeptical because I've never been able to get any automatic programs to work, even the android flash utility doesn't work. I read everything carefully and gave Pixel Flasher a shot. I selected the correct boot image and patched it. It returned a message saying Magisk wasn't found on the phone, which it was, and for me to select it manually. I did so. Then I flashed it and it got almost all the way done and the phone got stuck on the fastbootd page. Then i got a couple of errors and the phone reset and started bootlooping. I had to sideload the stock OTA to get it working again. Then I did the usual manual patch and flash the magisk modified boot image to regain root. That works without issue.

I copied and pasted the console info:

PixelFlasher 3.4.0.0 started on 2022-08-04 15:59:36
{
"advanced_options": true,
"boot_id": null,
"custom_codepage": "",
"custom_rom": false,
"custom_rom_path": null,
"device": "24061FDEE000LT",
"disable_verification": false,
"disable_verity": false,
"fastboot_verbose": false,
"firmware_path": "C:\Eric\Phone Stuff\Pixel 6 Pro\Pixel Flasher\raven-sq3a.220705.003.a1-factory-152f6a65.zip",
"flash_both_slots": false,
"force_codepage": false,
"height": 985,
"magisk": "com.topjohnwu.magisk",
"mode": "keepData",
"phone_path": "/storage/emulated/0/Download",
"platform_tools_path": "C:\Eric\Phone Stuff\platform-tools_r33.0.2-windows\platform-tools",
"pos_x": 57,
"pos_y": 20,
"selected_boot_md5": null,
"update_check": true,
"verbose": false,
"version": "3.4.0.0",
"width": 1664
}
System Default Encoding: utf-8
File System Encoding: utf-8
Active code page: 437

2022-08-04 15:59:36 Selected Platform Tools Path:
C:\Eric\Phone Stuff\platform-tools_r33.0.2-windows\platform-tools.
SDK Version: 33.0.2-8557947

Please select a boot.img!

Loading Device list ...
This could take a while, please be patient.

Selected Device on 2022-08-04 15:59:38:
Device ID: 24061FDEE000LT
Device Model: raven
Device is Rooted: False
Device Build: SQ3A.220705.003.A3
Device Active Slot: b
Device Mode: adb

Load time: 3 seconds

Selected Boot: 178e1b56cd736be045602a9d96fa67dc from image: C:\Eric\Phone Stuff\Pixel 6 Pro\Pixel Flasher\raven-sq3a.220705.003.a1-factory-152f6a65.zip
Deleting boot record, ID:1 Boot_ID:178e1b56 ...
Cleared db entry for: C:\Eric\Phone Stuff\Pixel 6 Pro\Pixel Flasher\raven-sq3a.220705.003.a1-factory-152f6a65.zip
Deleting Firmware cache for: C:\Users\spook\AppData\Roaming\PixelFlasher\factory_images\raven-sq3a.220705.003.a1 ...
Deleting Boot file: C:\Users\spook\AppData\Roaming\PixelFlasher\boot_images\178e1b56cd736be045602a9d96fa67dc\boot.img ...

Please Process the firmware!

2022-08-04 16:01:39 Reloading Device List ...

Selected Device on 2022-08-04 16:01:39:
Device ID: 24061FDEE000LT
Device Model: raven
Device is Rooted: False
Device Build: SQ3A.220705.003.A3
Device Active Slot: b
Device Mode: adb

Please Process the firmware!
2022-08-04 16:04:48 The following firmware is selected:
raven-sq3a.220705.003.a3-factory-5651ee94.zip

Please Process the firmware!

2022-08-04 16:04:52 Processing firmware file ...
7-Zip 21.07 (x64) : Copyright (c) 1999-2021 Igor Pavlov : 2021-12-26
Scanning the drive for archives:
1 file, 2441060467 bytes (2328 MiB)
Extracting archive: C:\Eric\Phone Stuff\Pixel 6 Pro\Pixel Flasher\raven-sq3a.220705.003.a3-factory-5651ee94.zip

Path = C:\Eric\Phone Stuff\Pixel 6 Pro\Pixel Flasher\raven-sq3a.220705.003.a3-factory-5651ee94.zip
Type = zip
Physical Size = 2441060467
Everything is Ok
Folders: 1
Files: 6
Size: 2459009024
Compressed: 2441060467
Package ID: 1
Boot ID: 1
Package_Boot ID: 1

Please select a boot.img!
Process firmware time: 6 seconds

Please select a boot.img!

Please select a boot.img!

Please select a boot.img!

2022-08-04 16:05:16 Processing firmware file ...
7-Zip 21.07 (x64) : Copyright (c) 1999-2021 Igor Pavlov : 2021-12-26
Scanning the drive for archives:
1 file, 2441060467 bytes (2328 MiB)
Extracting archive: C:\Eric\Phone Stuff\Pixel 6 Pro\Pixel Flasher\raven-sq3a.220705.003.a3-factory-5651ee94.zip

Path = C:\Eric\Phone Stuff\Pixel 6 Pro\Pixel Flasher\raven-sq3a.220705.003.a3-factory-5651ee94.zip
Type = zip
Physical Size = 2441060467
Everything is Ok
Folders: 1
Files: 6
Size: 2459009024
Compressed: 2441060467
Package ID: 1
Boot ID: 1
Package_Boot ID: 1

Please select a boot.img!
Process firmware time: 6 seconds

Selected Boot: ef050a14cf06b9d9ba121e2ac85b9eb6 from image: C:\Eric\Phone Stuff\Pixel 6 Pro\Pixel Flasher\raven-sq3a.220705.003.a3-factory-5651ee94.zip

Selected Boot: ef050a14cf06b9d9ba121e2ac85b9eb6 from image: C:\Eric\Phone Stuff\Pixel 6 Pro\Pixel Flasher\raven-sq3a.220705.003.a3-factory-5651ee94.zip

Selected Boot: ef050a14cf06b9d9ba121e2ac85b9eb6 from image: C:\Eric\Phone Stuff\Pixel 6 Pro\Pixel Flasher\raven-sq3a.220705.003.a3-factory-5651ee94.zip

==============================================================================
2022-08-04 16:08:57 PixelFlasher 3.4.0.0 Patching boot.img

Deleting boot.img from phone in /storage/emulated/0/Download ...
Making sure boot.img is not on the phone in /storage/emulated/0/Download ...
Deleting magisk_patched.img from phone in /storage/emulated/0/Download ...
Making sure magisk_patched.img is not on the phone in /storage/emulated/0/Download ...
Transfering boot.img to the phone in /storage/emulated/0/Download ...
C:\Users\spook\AppData\Roaming\PixelFlasher\boot_images\ef050a14cf06b9d9ba121e2ac85b9eb6\boot.img: 1 file pushed, 0 skipped. 122.5 MB/s (67108864 bytes in 0.523s)

Making sure boot.img is found on the phone in /storage/emulated/0/Download ...
Magisk Tools not found on the phone
Looking for Magisk app ...
Unable to find magisk on the phone, perhaps it is hidden?
User pressed ok.

Looking for magisk_patched.img in /storage/emulated/0/Download ...
Found /storage/emulated/0/Download/magisk_patched-25201_dZ1g3.img
Pulling /storage/emulated/0/Download/magisk_patched-25201_dZ1g3.img from the phone ...
md5 of magisk_patched.img: 8f4fbe6d347e34d5df25ecdda3046ad7
Boot ID: 2
Package_Boot ID: 2

Please select a boot.img!
Patch time: 59 seconds

Selected Boot: 8f4fbe6d347e34d5df25ecdda3046ad7 from image: C:\Eric\Phone Stuff\Pixel 6 Pro\Pixel Flasher\raven-sq3a.220705.003.a3-factory-5651ee94.zip
Android SDK Version: 33.0.2-8557947
Device: 24061FDEE000LT raven SQ3A.220705.003.A3
Factory Image: C:\Eric\Phone Stuff\Pixel 6 Pro\Pixel Flasher\raven-sq3a.220705.003.a3-factory-5651ee94.zip

Boot image: 8f4fbe6d / ef050a14
From: C:\Eric\Phone Stuff\Pixel 6 Pro\Pixel Flasher\raven-sq3a.220705.003.a3-factory-5651ee94.zip
[Patched] with Magisk on raven

Flash Mode: keepData

Note: Pressing OK button will invoke a script that will utilize
fastboot commands, this could possibly take a long time and PixelFlasher
will appear frozen. PLEASE BE PATIENT.
In case it takes excessively long, it could possibly be due to improper or
bad fasboot drivers.
In such cases, killing the fastboot process will resume to normalcy.

  Do you want to continue to flash with the above options?
          Press OK to continue or CANCEL to abort.

2022-08-04 16:10:23 User Pressed Ok.

==============================================================================
2022-08-04 16:10:23 PixelFlasher 3.4.0.0 Flashing Phone

Rebooting device 24061FDEE000LT to bootloader ...
Waiting 10 seconds ...

Selected Device on 2022-08-04 16:10:40:
Device ID: 24061FDEE000LT
Device Model: raven
Device is Rooted: None
Device Build:
Device Active Slot: b
Device Mode: f.b
Device Unlocked: True

2022-08-04 16:10:40 Flashing device 24061FDEE000LT ...
C:\Users\spook\AppData\Roaming\PixelFlasher\factory_images\raven-sq3a.220705.003.a3>chcp 437
Active code page: 437
Sending 'bootloader_b' (11506 KB) OKAY [ 0.424s]
Writing 'bootloader_b' (bootloader) Flashing pack version slider-1.2-8318357
(bootloader) flashing platform gs101
(bootloader) Validating partition ufs
(bootloader) Validating partition ufs
(bootloader) Validating partition partition:0
(bootloader) Validating partition partition:1
(bootloader) Validating partition partition:2
(bootloader) Validating partition partition:3
(bootloader) Validating partition bl1_b
(bootloader) Validating partition pbl_b
(bootloader) Validating partition bl2_b
(bootloader) Validating partition abl_b
(bootloader) Validating partition bl31_b
(bootloader) Validating partition tzsw_b
(bootloader) Validating partition gsa_b
(bootloader) Validating partition ldfw_b
(bootloader) Flashing partition ufs
(bootloader) Flashing partition ufs
(bootloader) Flashing partition partition:0
(bootloader) Flashing partition partition:1
(bootloader) Flashing partition partition:2
(bootloader) Flashing partition partition:3
(bootloader) Flashing partition bl1_b
(bootloader) Flashing partition pbl_b
(bootloader) Flashing partition bl2_b
(bootloader) Flashing partition abl_b
(bootloader) Flashing partition bl31_b
(bootloader) Flashing partition tzsw_b
(bootloader) Flashing partition gsa_b
(bootloader) Flashing partition ldfw_b
(bootloader) Loading sideload ufsfwupdate
OKAY [ 2.732s]
Finished. Total time: 3.156s
Rebooting into bootloader OKAY [ 0.000s]
Finished. Total time: 0.000s
< waiting for 24061FDEE000LT >
Sending 'radio_b' (81940 KB) OKAY [ 2.737s]
Writing 'radio_b' (bootloader) Flashing pack version g5123b-100840-220525-M-8640371
(bootloader) Flashing partition modem_b
OKAY [ 0.108s]
Finished. Total time: 2.845s
Rebooting into bootloader OKAY [ 0.000s]
Finished. Total time: 0.000s
< waiting for 24061FDEE000LT >

Bootloader Version...: slider-1.2-8318357
Baseband Version.....: g5123b-100840-220525-B-8640371
Serial Number........: 24061FDEE000LT

extracting android-info.txt (0 MB) to RAM...
Checking 'product' OKAY [ 0.000s]
Checking 'version-bootloader' OKAY [ 0.000s]
Checking 'version-baseband' OKAY [ 0.000s]
Setting current slot to 'b' OKAY [ 0.090s]
extracting boot.img (64 MB) to disk... took 0.324s
archive does not contain 'boot.sig'
Sending 'boot_b' (65536 KB) OKAY [ 2.175s]
Writing 'boot_b' OKAY [ 0.079s]
archive does not contain 'init_boot.img'
extracting dtbo.img (16 MB) to disk... took 0.031s
archive does not contain 'dtbo.sig'
Sending 'dtbo_b' (16384 KB) OKAY [ 0.597s]
Writing 'dtbo_b' OKAY [ 0.016s]
archive does not contain 'dt.img'
archive does not contain 'pvmfw.img'
archive does not contain 'recovery.img'
extracting vbmeta.img (0 MB) to disk... took 0.000s
archive does not contain 'vbmeta.sig'
Sending 'vbmeta_b' (8 KB) OKAY [ 0.000s]
Writing 'vbmeta_b' OKAY [ 0.000s]
extracting vbmeta_system.img (0 MB) to disk... took 0.000s
archive does not contain 'vbmeta_system.sig'
Sending 'vbmeta_system_b' (4 KB) OKAY [ 0.000s]
Writing 'vbmeta_system_b' OKAY [ 0.000s]
extracting vbmeta_vendor.img (0 MB) to disk... took 0.000s
archive does not contain 'vbmeta_vendor.sig'
Sending 'vbmeta_vendor_b' (4 KB) OKAY [ 0.000s]
Writing 'vbmeta_vendor_b' OKAY [ 0.011s]
extracting vendor_boot.img (64 MB) to disk... took 0.282s
archive does not contain 'vendor_boot.sig'
Sending 'vendor_boot_b' (65536 KB) OKAY [ 2.308s]
Writing 'vendor_boot_b' OKAY [ 0.079s]
archive does not contain 'vendor_kernel_boot.img'
extracting super_empty.img (0 MB) to disk... took 0.000s
Rebooting into fastboot OKAY [ 0.000s]
< waiting for 24061FDEE000LT >
Sending 'super' (4 KB) OKAY [ 0.005s]
Updating super partition OKAY [ 0.012s]
Resizing 'product_b' OKAY [ 0.006s]
Resizing 'system_b' OKAY [ 0.010s]
Resizing 'system_ext_b' OKAY [ 0.000s]
Resizing 'system_a' OKAY [ 0.005s]
Resizing 'vendor_b' OKAY [ 0.000s]
Resizing 'vendor_dlkm_b' OKAY [ 0.011s]
Resizing 'vendor_a' OKAY [ 0.000s]
archive does not contain 'boot_other.img'
archive does not contain 'odm.img'
archive does not contain 'odm_dlkm.img'
extracting product.img (2691 MB) to disk... took 17.962s
archive does not contain 'product.sig'
Resizing 'product_b' OKAY [ 0.000s]
Sending sparse 'product_b' 1/11 (262140 KB) OKAY [ 9.265s]
Writing 'product_b' OKAY [ 0.723s]
Sending sparse 'product_b' 2/11 (262140 KB) OKAY [ 9.469s]
Writing 'product_b' OKAY [ 0.738s]
Sending sparse 'product_b' 3/11 (262140 KB) OKAY [ 9.405s]
Writing 'product_b' OKAY [ 0.723s]
Sending sparse 'product_b' 4/11 (262140 KB) OKAY [ 9.517s]
Writing 'product_b' OKAY [ 0.769s]
Sending sparse 'product_b' 5/11 (262140 KB) OKAY [ 7.144s]
Writing 'product_b' OKAY [ 0.785s]
Sending sparse 'product_b' 6/11 (262140 KB) OKAY [ 5.902s]
Writing 'product_b' OKAY [ 0.737s]
Sending sparse 'product_b' 7/11 (262140 KB) OKAY [ 5.902s]
Writing 'product_b' OKAY [ 0.737s]
Sending sparse 'product_b' 8/11 (262140 KB) OKAY [ 6.891s]
Writing 'product_b' OKAY [ 0.801s]
Sending sparse 'product_b' 9/11 (262140 KB) FAILED (Error reading sparse file)
fastboot: error: Command failed
rebooting to bootloader ...
Rebooting into bootloader FAILED (Status read failed (Too many links))
fastboot: error: Command failed
Sleeping 5-10 seconds ...
flashing pf_boot ...
< waiting for 24061FDEE000LT >
Sending 'boot_b' (65536 KB) OKAY [ 2.261s]
Writing 'boot_b' OKAY [ 0.079s]
Finished. Total time: 2.340s
rebooting to system ...
Rebooting OKAY [ 0.000s]
Finished. Total time: 0.000s
2022-08-04 16:14:30 Done!
Flashing elapsed time: 247 seconds

If two or more patched boot.img files are in path script can't handle it

I had started the script, it copied stock boot.img to /Download , I patched the image with Magisk and it gave me magisk_patched-24102_XYZ123.img but from previous tests there still was an old file magisk_patched-24102_OPQ345.img ... the script can't handle that. Maybe it needs a cleanup function for /Download with a warning that old boot.img and magisk_patched-version_string.img get deleted before copying the fresh stock boot.img.

No can do on Windows 11 Pro

Howdy all,

I tried to flash my P6Pro with the latest PixelFlasher Release v4.5.0.0 the program doesn't load on Windows 11 Pro Edition (Version 22H2
OS Version 22621.900 / Windows Feature Experience Pack 1000.22638.1000.0)

If I try with Release v4.4.0.0 everything goes flawlessly and was able to install december update.

Thanks for your hard work!

Generic Linux build

Why are there "Ubuntu" and "Kali" builds? Why not an AppImage or a Flatpak for all distros? Why isn't it even in a packaging format?

req: more flashing options

It would be nice if there was option for manually adding a boot.img for those who already have patched the boot image, want to unroot or have a custom kernel they want to use.
Maybe even a separate expert page to flash radio, bootloader or other images some expert may want to flash.

Flash to inactive slot doesn't work.

Latest version - 4.5.0.0

Connect phone, do a scan, this is in the result: "Device Active Slot: a"

Extract and patch boot, Flash Mode "keep data", check Flash to inactive slot. Flash Phone, completes OK, but flashes to existing slot a, not inactive slot. I'll note that nothing is logged when toggling the "Flash to inactive slot" checkbox.

Edit: you should probably include info on the active slot and the slot to be flashed in the confirmation pop-up.

Excerpts from the log:

Selected Device on 2022-12-05 18:19:49:
    Device ID:                       25071JEGR06808
    Device Model:                    bluejay
    Device Active Slot:              a
...
2022-12-05 18:22:20 Flashing device 25071JEGR06808 ...
...
Sending 'bootloader_a' (11574 KB)                  OKAY [  0.343s]
Writing 'bootloader_a'                             (bootloader) Flashing pack version bluejay-1.2-9152140
...
Sending 'boot_a' (65536 KB)                        OKAY [  1.940s]
Writing 'boot_a'                                   OKAY [  0.299s]
Finished. Total time: 2.243s
rebooting to system ...
Rebooting                                          OKAY [  0.000s]
Finished. Total time: 0.001s
2022-12-05 18:26:32 Done!
...
2022-12-05 18:28:59 Scanning for Devices ...
1 Device(s) are found.
2022-12-05 18:29:00 No Device is selected!

Selected Device on 2022-12-05 18:29:07:
    Device ID:                       25071JEGR06808
    Device Model:                    bluejay
    Device Active Slot:              a

Add Dark Theme Support

Dear developer,

It's 2022 and all programs should have a dark theme. Though I understand that this is a free software that you provide without monetising it in any way, so it's really only up to you if you think a dark theme should be implemented or not. But I think every software (regardless of what it is) should support this feature for feature-parity and a more consistent UX.

In love,
A great fan of your program :)

just wondering?

trying to install hentiaOS TwistedScarlett and cannot because Boot.img and Vendor.img are downloaded in separate files. how can i get around this? flasher wants to extract boot.img from full download.
thanks again, Shelb

UnboundLocalError: local variable '_magisk_sha1' referenced before assignment

After upgrading to the latest rom, I plugged my Pixel Pro 7 back in, scanned for it, selected it and then clicked the purple Magisk Backup Manager button.

I get this error and just a spinning circle (Window load icon).

image

I thought it might be because I hid Magisk, but after unhiding it, the behaviour is the same.

Thank you for an awesome app!

support for GrapheneOS

I would like to ask if you can add the option for using the GrapheneOS images.

I know root is not on their plan, but i like the hardening, and i like root.

i tried using the image downloaded directly from them (panther-factory-2022112500.zip)

and i get error:

2022-11-28 23:57:31 ERROR: C:\Users\LW\AppData\Roaming\PixelFlasher\factory_images\panther-factory\image-panther-factory.zip is not found.
Please check D:\Pixel7\panther-factory-2022112500.zip to make sure it is a valid factory image file.
Aborting ...

i also tried opening the file and going into the first (and only folder) to extract the image-panther-2022112500.zip

and that gave the same error (with the other file name)

trying on clean file from google (without extracting anything) works properly.

if this isnt something you want to do, maybe someone can point me in the right direction to find out what i can change (maybe some setup file or something) to make it work.

thanks

Failed to detect root on Pixel 6 Pro (raven)

Magisk Manager confirms that the device is rooted with Zygisk enabled, but PixelFlasher says:

Selected Device on 2023-02-09 03:14:16:
Device ID: 19041FD*******
Device Model: raven
Device Active Slot: b
Device Mode: adb
Device is Rooted: False
Device Build: TQ1A.230205.002
Device API Level: 33
Device Architecture: arm64-v8a
Device Bootloader Version: slider-1.2-9152140
Magisk Manager Version: 25.2:25200
Checked for Package: com.topjohnwu.magisk

Screenshot (Feb 9, 2023 3_16_33 AM)

Crash when trying to open browse dialog on ubuntu 22.04

~/MyApps$ lsb_release -a && uname -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 22.04.1 LTS
Release:	22.04
Codename:	jammy
Linux USER 5.15.0-52-generic #58-Ubuntu SMP Thu Oct 13 08:03:55 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

~/MyApps$ ./PixelFlasher-Ubuntu 
Loading configuration File ...

(PixelFlasher-Ubuntu:1132649): Gtk-WARNING **: 15:11:33.832: Could not load a pixbuf from /com/ubuntu/themes/Yaru-dark/3.0/assets/bullet-symbolic.svg.
This may indicate that pixbuf loaders or the mime database could not be found.

(PixelFlasher-Ubuntu:1132649): Gtk-WARNING **: 15:11:37.593: Negative content width -33 (allocation 1, extents 17x17) while allocating gadget (node button, owner GtkButton)

(PixelFlasher-Ubuntu:1132649): Gtk-WARNING **: 15:11:37.593: Negative content height -9 (allocation 1, extents 5x5) while allocating gadget (node button, owner GtkButton)
**
Gtk:ERROR:../../../../gtk/gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /usr/share/icons/Yaru/16x16/status/image-missing.png: Unrecognized image file format (gdk-pixbuf-error-quark, 3)
Bail out! Gtk:ERROR:../../../../gtk/gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /usr/share/icons/Yaru/16x16/status/image-missing.png: Unrecognized image file format (gdk-pixbuf-error-quark, 3)
Aborted (core dumped)


Clicking on any of the browse dialogs causes the program to crash, be it the Platform tools one or the factory image one. Im on version 4.4.0.0 and ubuntu 22.04. Running it under sudo results in the same outcome.

Crashes on Pop!_OS 22.04 LTS

When I run ./PixelFlasher-Linux, it comes up with a bunch of Gtk-WARNINGs. Then when I click on "Browse" to select the path to platform-tools, the program crashes. This is the output:

Bail out! Gtk:ERROR:../../../../gtk/gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /usr/share/icons/Pop/16x16/status/image-missing.svg: Unable to load image-loading module: /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so: /lib/x86_64-linux-gnu/librsvg-2.so.2: undefined symbol: pango_attr_overline_new (gdk-pixbuf-error-quark, 5)

Pixel Flasher hangs right after clicking "Flash Pixel Phone"

Just as in a title, pixel flasher straight up hangs right after clicking a flashing button. My OS is OpenSUSE Tumbleweed and I'm using a Kali build (as Ubuntu build throws me an error about outdated adb and fastboot). My phone reboots to bootloader just fine after i click the flashing button, but that's where the program hangs and nothing else happens after.

Lock / Unlock Bootloader Backwards?

I'm sending my phone back to Google for a hardware issue. I flashed stock firmware, and went to relock the bootloader through PixelFlasher. Pressing "lock bootloader" actually unlocked it. I tried it a few times, and it unlocked it every time. Only when I pressed "unlock bootloader" did I get the message to lock my bootloader.

Could these be backward or something in the app?

ModuleNotFoundError: No module named 'darkdetect'

I just git cloned this repo. Then:

# python PixelFlasher.py
Traceback (most recent call last):
  File "/usr/local/src/Android/PixelFlasher/PixelFlasher.py", line 3, in <module>
    import Main
  File "/usr/local/src/Android/PixelFlasher/Main.py", line 15, in <module>
    import darkdetect
ModuleNotFoundError: No module named 'darkdetect'

Gnetoo knows of no such modules:

# eix darkdetect
No matches found

Where do I get it?

just wondering?

   Is there a specific procedure for flashing most of the new roms? that come in 2 zips and doesn't have the old standard  format so the flasher doesn't have what it needs? If you have already addressed this I apologize for not keeping up.  Appreciate your wonderful work, and thank you for all the details you've provided

Hint for hidden Magisk

My Magisk is hidden, so the renaming is Magic, and the package is existing as waph.ahlw ...

adb shell monkey -p com.topjohnwu.magisk -c android.intent.category.LAUNCHER 1

won't launch it, so give users a hint regarding that maybe.

i18n request

This is a great tool ! I want recommend it to more people.
I'd be more than happy to be involved in localizing it
so could u support any languages profile to switch ?
thanks a lot !

Flash pixel phone crash

Hi badabing2005,

Using latest version (2.4).
When i try to flash the phone using the dry run option (I would first like to see if everything works), i get following error:
image

ADB looks fine:
image

Version 2.2.2 does work. Bug was introduced with version 2.3

Thank you for looking at this 👍
Regards
Chris

v.2.2.2.2

when i exit this program when i try to open it back up it auto closes any advice

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.