Disclaimer: By using my script, you understand and accepts that I, and any people mentioned, will NOT be held responsible in the event that your device bricks, get stuck in boot loops, or any other damage.
Ok after debugging my script and making it better for 3-4 days, i finally have a safe version for the general public. Things you should know:
- Highly recommended that you have 2nd boot loader + twrp in the rare chance this bricks your kindle, because you can adb from twrp and restore the backup
- If you have any alternative launchers installed, the widget picker apk, and/or the live wallpaper apk, it's suggested removing these before running my script or it may tell you your system partition is too low on disk space to continue.
- This is for OS 10.4.1, 7.4.1, and 8.41 and probably up if they keep this feature disabled
- You need a rooted device for this to work
- You need java installed
- You need Microsoft Visual C++ Redist installed
- If it stays on "waiting for device" you have adb driver problems, I would suggest perusing the forums for a solution
- DON"T PULL YOUR CABLE DURING THE PROCEDURE! < very important
I have learned a lot through making this, such as you have to make this n00b proof in terms of safety features. I also learned that i hate batch coding with a passion. I will release an update soon with the Linux bash script version of this in it, it may or may not work for mac users, I don't have any OS X macs around to check for commands like awk, but base don the last time i used one in school they didn't have half of the busybox commands I'm used to in them.
- Kindle Fire HD 7"
- Kindle Fire HD 8.9"
- Kindle Fire 2
- Kindle Fire HDX 7"
- Kindle Fire HDX 8.9"
Many thanks to pjeby, who worked with me to make sure it had plenty of safeties to prevent bricks,and gave me the process to know how to do this so i could figure out a way to automate it, as well as checking my script every few updates. Also would like to give credit to JulianPaoloThiry, who noticed where the problem resided. Have to give some credit to a friend of a friend of mine who helped me overcome a really stupid error that i couldn't figure out because i didn't read the debugging text properly, his name is probably Matei, we communicated through email. And final thanks to awidawad and vashypooh, because i based most of this on the kindle fire utilities ui code, must say their tmp variable was the source of my agony with a java bug. Also to thank my testers lordhavemercy, and thekid41, and halfvast. Have to thank soupmagnet for some recent advice on transferring a error code over adb. Another huge thanks to starstremr for having the patience to help me work out a number of bugs introduced in 2.1 update changes that were made before release.
Now with credit given where due here is the wallpaper fix. I will add a readme file later. Just unzip the file and click the file called RunMe. Linux users run the RunMe.sh, you may have to fix permissions to give it execute permissions though.
Oh thought I'd add if a mod also might want to move this post as a new thread in the general section, I'm ok with that. If that happens i figured more people would see this since it affects 3 different models and this is only listed in the 7' hd section.
Edit:Confirmed this works on the 8.9' HD as well!
For now to help me with any problems you may have with this upon release I unhid the extra text that the programs and such are putting out and included a really crappy debugging script that logs the output. So if you run the program and it completes "successfully" but your wallpaper still wont apply do this:
1. Run the script again, choose restore
2. Right click runme.bat and hit edit, change the first line to say "@echo on" (without quotes). Save and exit.
3.Run the debugger.bat and give it a 5 count then hit 1 and enter, the console's going to remain blank, couldn't find a work around.
4. Wait until your kindle reboots, give your pc a 10 count, then press enter one or two times and send me the debuglog.txt that was created or just send me it in a pm using code tags
Once all the bugs have settled down I'll update with a copy without the extra text showing up.
Anyways try the new version!
-fixed a syntax bug in the Linux script.
-Got rid of awk bug in windows by switching to findstr
-Fixed broken safeties bug due to previously mentioned awk bug fix
-Fixed restore function again so it works and is safe
-Temporarily disabled the sdcard check for the backup, due to new method being a bit buggy with partitions over 1gb
-Changed backup path to help people with "system partition is low on disk space" messages
-Complete overhaul and cleanup of the Linux script (thanks soupmagnet)
-Fixed ./adb.exe in the Linux script
-Fixed patching bools from \ to / in Linux script
-Added a chmod line to Linux script to run at startup to make sure binaries have execute permissions
-Fixed Linux script Unexpected EOF error
-Fixed some clumsy mistakes in the low disk space warning in Linux script
-Think i fixed a stupid bug in the Linux script randomly trying to download xmlstarlet from source after a bad exit status from script.
-Added latest adb binary to Linux version(windows already had the latest version)
-Fixed safeties i previously implemented in a way that didn't work
-added some safeties for preventing brick if your sd card or system partition is low on disk space. Some of these safeties may be duds, as i
haven't had the opportunity to test whether an error code from android carries over adb to windows as a bad exit code, and I'm doubtful that
it does, so i will work on making safeties work if they don't in this release.
-added first revision of linux bash script (plan on updating it to be better later on)
-Added a safety to reduce bricking devices with low disk space on data partition. I have a feeling this is also a possibility of what was
causing some of the initial bricks that were reported on here after release.
-added a makeshift fix for people with java path issues, lets see how the fix works!
-Copied a set path function i forgot to originally that may or may not at some point could have caused problems, not too sure though.
-Changed the Microsoft visual C++ check to use %windir% instead of c:\windows
-Enabled more output for debugging purposes
-Included a crappy debugger script for helping me improve on errors