📳🔥 PixelFlasher, a GUI tool for flashing / updating / rooting / managing Pixel phones.

Search This thread

badabing2003

Recognized Contributor
Sep 17, 2012
1,836
2,419

badabing2003

Recognized Contributor
Sep 17, 2012
1,836
2,419
Yh wipe is not a problem, i have backups. I should opt out first?
Assuming that your bootloader is unlocked and you have enabled USB debugging
  • select platform tools
  • select device
  • select latest firmware
  • choose wipe-data
  • flash
that should do it
after that if you want to root,
  • install magisk on phone
  • process firmware
  • select boot
  • patch (and follow the guided instructions)
  • you can flash just the patched boot.img in advanced mode, or just hit flash and it will flash full.
 

banshee28

Senior Member
Aug 31, 2010
266
51
NICE! Just went from January update to the latest May! Took about 5 mins, kept data and root!

Fun fact: Took me longer to figure out why phone did not show rooted (x) with Magisk when it was there. Going back and reading the instructions again, I figured it out. Enabled this and checkbox was there!

Thanks!!


1649275803339-png.5581317
 

badabing2003

Recognized Contributor
Sep 17, 2012
1,836
2,419
New Release:
May 04, 2022 v3.2.0 release
  • Help menu option to create support.zip file, which sanitizes (redacts user names and device IDs) of the log files.
    This makes it super easy to provide support.zip file when something goes wrong and need to report it.
  • In boot management, delete firmware cache of the selected boot.img if it is the last boot.img used from that firmware.
  • Handle space characters in username.
  • Console is now responsive when processing firmware file.
  • More checks and validations.
  • Update readme with instructions on how to build PixelFlasher on MacOS.
 

Hot-Proton

Senior Member
May 11, 2019
507
103
OnePlus 9 Pro
I have a Pixel 6 and use the latest Windows 11. My Problem ist the first start working but after i selecet plattform tools nothing happens anymore. I only see that the mouse cursor rotates but in the program itself does nothing more. I then closed the program and when I now starts, I only see the PixelFlasher logo, which then closes again. That is, it can no longer be started.
 

badabing2003

Recognized Contributor
Sep 17, 2012
1,836
2,419
I have a Pixel 6 and use the latest Windows 11. My Problem ist the first start working but after i selecet plattform tools nothing happens anymore. I only see that the mouse cursor rotates but in the program itself does nothing more. I then closed the program and when I now starts, I only see the PixelFlasher logo, which then closes again. That is, it can no longer be started.
Sorry for your troubles.
Would you know which version you used?
Properties on PixelFlasher.exe should tell you.

Some things you can do.

Open command prompt and run
Code:
adb disconnect
adb kill-server

Make sure there is no other instances (process) of PixelFlasher running, open task manager and kill it if you find any.

Open an explorer window to %APPDATA%
You should see PixelFlasher folder in there, zip that folder and pass it to me so that I can look into it, you can do so privately if you prefer.

Lastly rename that folder to something else, for example PixelFlasher.bak

Make sure you are using the latest version of PixelFlasher

It should work, if there is anything unique about your setup that no one else has experienced, the logs would help me with troubleshooting.

By any chance, is your phone rooted?
If yes, what Magisk modules do you have?
 

Hot-Proton

Senior Member
May 11, 2019
507
103
OnePlus 9 Pro
Sorry for your troubles.
Would you know which version you used?
Properties on PixelFlasher.exe should tell you.

Some things you can do.

Open command prompt and run
Code:
adb disconnect
adb kill-server

Make sure there is no other instances (process) of PixelFlasher running, open task manager and kill it if you find any.

Open an explorer window to %APPDATA%
You should see PixelFlasher folder in there, zip that folder and pass it to me so that I can look into it, you can do so privately if you prefer.

Lastly rename that folder to something else, for example PixelFlasher.bak

Make sure you are using the latest version of PixelFlasher

It should work, if there is anything unique about your setup that no one else has experienced, the logs would help me with troubleshooting.

By any chance, is your phone rooted?
If yes, what Magisk modules do you have?

I use latest Version. Here the Data what you need.
 

Attachments

  • PixelFlasher.rar
    4.9 KB · Views: 20

badabing2003

Recognized Contributor
Sep 17, 2012
1,836
2,419
I use latest Version. Here the Data what you need.
Thanks for the files, I see where the problem is, but still don't know why it is not able to handle it, I'll try to reproduce it locally, if I can I'll have a solution.

Code:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe4 in position 113: invalid continuation byte

In the mean time if you rename the PixelFlasher folder in %APPDATA% and move your files, the program, factory file and platform tool to some simple path without Unicode (example c:\temp\...)
You should be able to run.
 

badabing2003

Recognized Contributor
Sep 17, 2012
1,836
2,419
New Release:
May 21, 2022 v3.3.1 release
  • Change encoding from utf8 to ISO-8859-1
  • Button to paste the currently selected boot.img into custom flash file selection.
  • Several Mac version improvements, thanks to rhetorican for reporting and testing.
  • UI improvements
  • Fix: On low resolution screens, the application startup position is high enough to clip the top part.
  • Fix: On low resolution screens, the patch icon is too large and dis-proportional to the rest of the UI
  • Better dark mode handling on Mac / Linux
  • Increase the wait during flashing to account for slower devices.
  • Further improvements on support.zip redaction process.
  • Other minor fixes and additional validations.
 

badabing2003

Recognized Contributor
Sep 17, 2012
1,836
2,419
support.zip FAQ
Q: What is it?
A: It is a sanitized (sensitive information like username or device id redacted) logs to help understand / troubleshoot in case anything goes wrong.

Q: What good is it?
A: See this response

Q: Do I really have to provide one?
A: No, but it helps the community if you do (help me help you and the community, win-win).

Q: How do I get one?
A: PixelFlasher | Help Menu | Create a Sanitized support.zip submenu
support-zip.png


Q: What's in a log file?
A: Let's take a look at a support.zip file provided by freonchill in this post for the issues experienced in this post.

Unzipping the support.zip we get:
Code:
support.zip
│   PixelFlasher.db
│   PixelFlasher.json
│
└───logs
        PixelFlasher_2022-05-21_17h16m03s.log
        PixelFlasher_2022-05-21_17h27m32s.log
        PixelFlasher_2022-05-21_22h19m08s.log
        PixelFlasher_2022-05-22_06h20m13s.log

PixelFlasher.json is merely the last options selected in PixelFlasher
PixelFlasher.db has the boot.img related information (the ones you see in the list)
Logs folder is where the most useful information lies.

Let's look at each log which is dated, in chronological order.
PixelFlasher_2022-05-21_17h16m03s.log
2022-05-22 09_16_56-C__Temp_faq_logs_PixelFlasher_2022-05-21_17h16m03s.log - Notepad++.png


2022-05-22 09_30_57-C__Temp_faq_logs_PixelFlasher_2022-05-21_17h16m03s.log - Notepad++.png

2022-05-22 10_31_49-C__Temp_faq_logs_PixelFlasher_2022-05-21_17h16m03s.log - Notepad++.png


Not that at this point nothing has been flashed to the phone, or anything potentially destructive / problematic has been performed, the only thing that has been attempt is to reboot into bootloader mode.

Let move on to the next file.
PixelFlasher_2022-05-21_17h27m32s.log
Application is restarted, that is why there is a new log file
I will not comment similar sections of the log that were commented in the previous file, I will only highlight the observations and differences.

2022-05-22 10_42_49-C__Temp_faq_logs_PixelFlasher_2022-05-21_17h27m32s.log - Notepad++.png


2022-05-22 10_49_30-C__Temp_faq_logs_PixelFlasher_2022-05-21_17h27m32s.log - Notepad++.png


2022-05-22 11_49_08-C__Temp_faq_logs_PixelFlasher_2022-05-21_17h27m32s.log - Notepad++.png


2022-05-22 13_21_41-C__Temp_faq_logs_PixelFlasher_2022-05-21_17h27m32s.log - Notepad++.png


1653240453223.png


PixelFlasher_2022-05-21_22h19m08s.log
1653240667636.png


PixelFlasher_2022-05-22_06h20m13s.log
1653240786218.png



Observations:
Commenting on the user experience.
I have magisk hidden, so i manually did the process on the phone to patch the boot.img

Actually there is no need to do it manually even if magisk is hidden, as long as the shell is given root rights, PixelFlasher will be able to do the patching.
See details in OP.

and it rebooted my phone, and rebooted and my phone, and oh crap a boot loop
Can't be 100% certain, but I suspect that the user was observing dryRun behavior.

This is a May 2022 flash-all.bat file shipped in the firmware.
1653241808003.png


So all in all a dryRun would do
1- reboot to bootloader (to place the phone in bootloader mode)
2- reboot to bootloader (line 18)
3- reboot to bootloader (line 21)
4- reboot to system (at the end)

The few reboots might give the impression that the phone is bootlooping.
Of course, this is no certainty that it's what happened with the user, however looking into the logs, at the point this is reported to be the case, PixelFlasher has done nothing but rebooting the phone and then not detecting the phone anymore.
the annoying thing was I couldn't do anything in adb, b/c it was unauthorized
This can happen when the phone is in adb mode, and it displays the message to authorize the device.
Even if the checkbox is clicked, it will remain in unauthorized state until it is disconnected and reconnected.

Code:
adb disconnect
adb devices

This happens with me, and possibly could happen to others, I have no explanation on why it happens, my cables are solid and the connections are solid, I have no driver issues, however sometimes the phone keeps on disconnecting / reconnecting for no apparent reason, and this is outside of PixelFlasher.
Sometime slight touch to wire causes this to happen, normal times hard shaking the cable does not disturb it.

How do I know that it is disconnecting / reconnecting?
1- Audio feedback of USB connect / disconnect
2- I run EventGhost script that displays on my screen anything a USB device is connected to disconnected, and it reports what device it is, and I see that it is the phone.

The fact that PixelFlasher repeatedly could not detect the phone, could be a sign of that, or an actual bootloop.
If it is the former, then the cables / connections / drivers should be looked into.
If it is the latter, why a phone would bootloop by just a reboot? I truly don't know and can't answer that.

I hope this helps people who want do troubleshooting when things go wrong.
Of course, I will do that myself if support.zip is provided.
 

Attachments

  • 2022-05-22 09_16_56-C__Temp_faq_logs_PixelFlasher_2022-05-21_17h16m03s.log - Notepad++.png
    2022-05-22 09_16_56-C__Temp_faq_logs_PixelFlasher_2022-05-21_17h16m03s.log - Notepad++.png
    109 KB · Views: 34

Top Liked Posts

  • 4
    you have a very old one,
    The only reason PF complains is because it wants to protect you from a real brick.
    You can scan the forums and see how many people got totally brick with 34.0.0x

    These were posted so many times

    https://dl.google.com/android/repository/platform-tools_r33.0.3-windows.zip - Windows
    https://dl.google.com/android/repository/platform-tools_r33.0.3-darwin.zip - Mac
    https://dl.google.com/android/repository/platform-tools_r33.0.3-linux.zip - Linux
    2
    I don't know what this Platform tools version is, never heard of it.

    Code:
    Android Platform Tools Version: 4986621

    It's what caused

    Code:
    Sending sparse 'product_b' 1/9 (262140 KB)         OKAY [  1.603s]
    Writing sparse 'product_b' 1/9                     FAILED (remote: 'Partition should be flashed in fastbootd')

    Get Platform tool 33.0.3 and flash again, you should be fine.
    you can flash from fastboot.
    2
    Not sure what you are asking for... sorry
    It's in the OP
    1
    That's not a brick, that's a bootloop.
    There is no TWRP for Pixel devices, at least not for the newer ones.
    Please provide a support.zip and I'll take a look.
    I have a Pixel 3.
    1
    Get Platform tool 33.0.3
    How? I downloaded the most recent one, and the software complained vociferously, so I ran with the old version that was already on my system, which generated zero complaints. I can't find a way to download older versions though.
  • 6
    I create a new folder into the Platform tools and I put only the adb and the fast boot .
    Since that is the first time and I'm already rooted from January without updating till now I will use for 1st time this tool . Do i have to care for something else ?
    That's not how you do it, don't just get the adb and fastboot files, unpack the Android Platform Tools 33.0.3 (not 34.0.1) and when you point PF where it is, point where adb and fastboot are , the other files in there are not decoration, they need to be there.
    Then follow the basic usage guide in the main thread OP
    6
    New Release:
    Mar 14, 2023 v4.8.1 release
    • #47 Feature request: Added partition manager - Allows to erase partitions, and / or dump / backup partitions to PC.
    • Added more visual troubleshooting event flows.
    • Added warning message for when Android platform tools versions 34.0.0 and 34.0.1 are used.
    • Improved support.zip redactions.
    • Added Support.Zip generator button on the Main screen.
    • APK Install option can now set the ownership to Play Store Market (useful for Android Auto)
    • Check and warn the user when Magisk Canary versions 25207, 25208, 25209 and 25210 are being used.
    • Bug fixes and other improvements.
    6
    I follow your instructions but no way to work .please see the support
    When you unzip the Android Platform Tools
    Make sure you select the folder that has the adb and fastboot in it, not the parent folder that says Platform Tools.

    Code:
    ERROR: The selected path \\Ds\ds\Downloads\platform-tools_r33.0.3-windows does not have adb and or fastboot
    5
    @xzenx1234x Please stop posting about this here, I told you already that this is off topic, you started a thread about it, why are you still posting it here?
    4
    yes, and on github too. Wasn't sure if the table in the middle will apply just the boot or the whole image and found the "Flash Boot" button or root process undescribed. Also manual describes "Flash Pixel Phone" button as it flashing boot only in all the points, so i'm not sure if it does the OTA update.
    If you follow the number sequence in basic usage, that is the main usage, everything else is additional features / tools.
    You can learn about what they do by hovering to show tooltip.
    PF needs a wiki for all the added tools / features aside from the basic usage, and it's on my TODO list, but it's low on the list because it is expected that the advanced features are used by experienced users who intuitively know what they are about.

    Flash Boot just flashes the selected boot file in the middle screen, it does not flash full factory.
    For full factory flashing you want to use the big Flash button above the console.

    OTA flashing can be done by enabling the advanced settings and then using custom flash with SIDELOAD selected.
    But that is intentionally in advance settings because you're have to know what to do, the OTA image is not patched, and you have to flash a patched boot as a follow up step.
  • 118

    PF_promo-banner_v4.png

    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 is self contained and does not require Python™ to be installed on the system.

    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 management UI, select the boot.img 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 passing.
    • Display details of boot.img (or init_boot.img for Pixel 7 / 7 Pro).
      • 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.
    • Ability to flash even if multiple devices are connected to the computer.
    • Option to flash 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.
    • Magisk Manager installation UI, screenshot. Supported versions:
      • stable (official)
      • beta (official)
      • canary (official)
      • debug (official)
      • alpha
      • delta
      • special build that disables 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 modules management, enable / disable modules selectively, this comes in handy to disable suspect modules before an upgrade screenshot:
      • Name
      • Version
      • Description
      • Enabled / Disabled.
    • 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.
    • Advanced features are hidden to keep the interface simple and easy to follow.
    • A lot of checks and validations for smooth operation.
    • Automatic check for program updates.
    • Package (Application) Manager, screenshot:
      • Disable (Freeze)
      • Enable
      • Uninstall
      • Install APK
      • Download APK
      • Multi-Select
      • Show Package Details.
    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.img)
    • Option to flash to both slots.
    • Option to flash to inactive slot.
    • Options to disable verity and or verification.
    • Ability to change the active slot.
    • Ability to live boot to custom boot.img (temporary root).
    • Ability to boot to recovery.
    • 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).

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

    Usage

    Basic Mode

    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 lastest 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.)
      If you already have your phone connected to the PC, the application will detect all connected devices
      (in adb, fastboot, sideload, recovery modes) and populate the combo box (2).
      Otherwise connect your phone to your PC, and hit the Scan button and then select your device.
    2. 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).
    3. Next select the factory image, the application will recognize the phone model from the image name.
      You can download factory images by clicking the Image of link next to it.
    4. Process the factory image. PixelFlasher will extract boot.img file from the factory image and populate it in the list below (5).
    5. Select boot.img from the list, the selected boot.img can be patched (6), or flashed (10).
    6. Optional: Select this option if you want to patch the boot.img with Magisk. If Magisk is not already be installed on your phone, PixelFlasher will install it for you.
      Your phone does not need to be rooted to create a patched boot.img 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 already rooted or not, the whole process is without any manual step.
    7. If you want to flash (10) a patched boot.img 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
      • 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 Magisk indicates the version of Magisk used to patch the image (if applicable).
      • 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 was extracted.
    8. Select the Flash Mode
      • 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.
    9. Optional: Open Magisk Modules Manager and disable (uncheck) modules known to cause issues during upgrades (the below list has never caused issues for me, so I keep them enabled YMMV).
    10. 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.

    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).
      Option to reboot to Recovery.
    2. Options to Lock / Unlock bootloader, Option to disable Magisk modules when bootlooping.
    3. Apply Custom ROM. This replaces the factory ROM image with the selected file.
      PixelFlasher extracts boot.img 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 can be performed if the option is selected. You can select any of the listed boot.img.
      • 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
      • 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, Pixel 6a, Pixel 6 Pro, Pixel 7, Pixel 7 Pro) 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] and [v0latyle] at xda for their excellent guides [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.
    • JackMcKew for pyinstaller Github Actions.
    • Endless counts of xda members and their posts that tirelessly answer questions and share tools. Too many to enumerate.

    Disclaimer

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

    No Donation
    I've been asked quite few times about donation, (here, here ... just to list a few).
    I'll put it here so that my stance is clear.
    This program will remain totally free, ad free, even donation free, it's my way to give a little back to the community that has given me years of support and joy.

    You can contribute by helping the next newcomer to learn the ropes and navigate through the maze of information.
    8
    PixelFlasher 4.0.0 pre-release:
    Sep 25, 2022 v4.0.0 pre-release
    • New Feature: On supported devices, where device is not yet rooted (or adb shell su not allowed), an option to control the Magisk Manager GUI (drive UI) to programmatically control the app through UIAutomator and create a patched boot.img
      See Patching flow chart for details.
    • New Feature: Detect if Magisk Manager is at a higher version than installed Magisk, warn the user of a potential rare corner case and offer a choice of patching method.
    • New Feature: Temporary Root, when flashing if you choose this option, the phone will be flashed with unpatched boot.img, but Live boot to patched boot.img to provide a temporary root.
    • New Feature: Warn the user to flash both bootloader slots if their device is a Tensor device (Pixel 6, Pixel 6a, Pixel 6 Pro), if current version of OS is lower than Android 13.
    • New Feature: Flash to inactive slot. Unlike OTA flashing factory image flashing is always done on the current active slot, with this option selected, PixelFlasher will write to inactive slot. This allows one to revert to current working state in case anything goes wrong. This feature combined with Temporary Flash provides best method to test a new firmware without risking losing current working setup.
      Note: You should avoid this option if you are on a Tensor device and are upgrading from Android 12 to Android 13 (see the previous feature).
    • New Feature: Detect and operate on devices that are in Sideload or Recovery mode.
    • New spinner to indicate PixelFlasher activity.
    • Renamed Reload button to Scan, to better reflect the button's function. After a scan print the count of devices found.
    • PixelFlasher previously used MD5 to uniquely identify boot images (patched or otherwise), with version 4.0.0 PixelFlasher now uses SHA1 instead of MD5.
      This has no bearing on the functionality, it just better aligns with Magisk way of identifying and tagging boot images.
    • PixelFlasher now extracts the embedded SHA1 of a Magisk Patched images (only available in newer devices) and assures that it matches the source boot.img's SHA1.
      This is just an extra validation.
    • Code cleanup / refactoring, adding more validations and exception handling.
    • Print debug details when encountering non compliant Magisk modules.
    • Firmware link now takes you to the device's download page instead of just the general download page.
    • To better reflect the file details, transferred and stored boot.img files are now suffixed by their shortened SHA1, while magisk_patched.img files are now suffixed by shortened SHA1 of their source boot.img.
    • Allow sideload even if bootloader is locked.
    7
    Forgive me if I've asked this before....does ADB shell need root access in order for Pixel Flasher to patch the boot image via Magisk?

    In other words, will the automatic patching work on unrooted devices?
    Here's a complete flow diagram of the patching process, hope it makes it clearer.

    1662558670612.png


    Drive UI and generate patched boot.img box is a new feature that will be available in 3.8.0 (hopefully to be released today), it uses UIAutomator to drive the UI and not require user interaction, the user can still decide to do it manually.

    Without su permissions on adb shell, PixelFlasher will report that the device is not rooted and will follow the flow of un-rooted.
    7
    New release:
    July 18, 2022 v3.4.0 release
    • Improvements to the boot extraction / categorization.
    • Live boot option directly from the selected boot.img UI, even though it was possible to live boot previously through the advanced menu, it is now super easy to select a boot.img (patched or otherwise) and Live boot to that image with a click of a button.
    • Added warning message in the splash screen and the help about menu, to inform users not to fall for opportunists who are claiming to be the developer of PixelFlasher with a donate button next to the download link. Reminder to all, this program will always be free, ad free, donation free; you should not be solicited for any form of payment.
    7
    @badabing2003 , I really like your work, well done, I couldn't find a donation link, can you please provide me with that. Thanks and keep up the good work.
    Thanks for your consideration, appreciated.
    Like I mentioned to other such queries, no donation is necessary, this is a payback to the community that has given me years of support and joy.
    If you want to do something good, help others who're just starting or struggling navigating through the maze of information.