yashsingh1/xdaforums huggingface dataset:
[Android Software/Hacking General [Developers Only]] osm0sis:
Nexus BootUnlocker Script Zip updated in the OP!

- Remove workaround for older versions of TWRP which didn't have support for the getprop shell command

This hopefully fixes getprop not working in CWM on some hammerhead devices as well, though it was a pretty random thing; some people with CWM reported it worked fine, others not. Also,

WOW

, 786 downloads of the previous version in the short time it was posted! Thanks for the word-of-mouth that must have caused that. Keep it up! :)

flash_image script updated in the 2nd post with one extra piece of user-error catching for the case where the image filename is supplied but the target partition is forgotten. 32 downloads. :p

More general info on these in my previous post:

http://xdaforums.com/showpost.php?p=47402916&postcount=133

Android Image Kitchen v1.8 is now up over in its thread with so many improvements I'm having trouble remembering them all for the changelog:

http://xdaforums.com/showthread.php?t=2073775

The other day I also updated my Holo Stock Notificons for Notification Toggle (linked in the 2nd post) to look better with KitKat. :good:
[Android Software/Hacking General [Developers Only]] VivaErBetis:
Yeah, it works -at the second attempt :p
[Android Software/Hacking General [Developers Only]] osm0sis:
New 975experimental init.d script up on my Dev-Host:

http://v.ht/osm0sis -- http://d-h.st/users/osm0sis/

- Updated the LMK Whitelist/Renice launcher list to match the latest f.K, adding potential support for the new Google Home/"Google Experience Launcher" (GEL).

- Added TCP latency reduction tweaks AK Kernel used to use.
[Android Software/Hacking General [Developers Only]] Charmacas:
I am actually testing the experimental script and it seems to work. No problems so far. ☺

Sent from my Galaxy Nexus with Tapatalk
[Android Software/Hacking General [Developers Only]] Schneewitzchen:
975 experimental

Hey Os,

i've got your new 975experimental script up and running,

If i run the script through terminal i got an error as you can see on the screenshot. The error occurs on console after 60 seconds as there's a sleep command of 60 seconds in the script.

At the end the launcher isn't reniced.

I'm on stock 4.3, xposed framework, new launcher, franco r394.

Thx for your work!
[Android Software/Hacking General [Developers Only]] The Gingerbread Man:
Run it through init.d folder, set permissions and reboot
[Android Software/Hacking General [Developers Only]] osm0sis:
Hmm yeah I've had it work and not work, probably due to the multiple instances of it running like you found. If I make it use the first returned number that should keep it from erroring and the first one is likely the launcher. :good:

Edit: [MENTION=4825779]Schneewitzchen[/MENTION] I'll upload the new one in a bit when I've had the chance to test, but if you want to try, the change is:

if [ `pgrep $class` ]; then

to:

if [ `pgrep $class | head -n 1` ]; then
[Android Software/Hacking General [Developers Only]] Schneewitzchen:
yeah i think that should work! :good:

EDIT:

[MENTION=4544860]osm0sis[/MENTION]

Thx for the change! Your's will work if you edit the line after the "if" where the class is set to the launcher variable also. I've quoted the whole part of the whitelist.

if [ `pgrep $class | head -n 1` ]; then

launcher=`$bb pgrep $class | head -n 1`;
[Android Software/Hacking General [Developers Only]] osm0sis:
Interestingly, doing it with just the if statement like I have works as well, and has the added effect of renicing both googlequicksearchbox processes, which is probably a good thing! :)

975experimental with that change is going up now. Thanks for the help! :good:
[Android Software/Hacking General [Developers Only]] Schneewitzchen:
I dunno what i've been doing wrong but it doesn't work for me. I downloaded the new script and made a reboot. I checked after reboot and it doesn't work. Then i tried in terminal the result is in my screenie attached. :(

Edit:

I think it works for you because the second instance of quicksearch will be closed after a while! As you can see at the second screenie!
[Android Software/Hacking General [Developers Only]] osm0sis:
Nah you're not checking the right thing. And some processes don't have oom_adj so that's not important.

You need to check the niceness:

ps -p | grep quick

u0_a123@maguro:/ $ ps -p | grep quick
u0_a54 803 131 563628 98792 2 -18 0 0 ffffffff 00000000 S com.google.android.googlequicksearchbox
u0_a54 11755 131 543104 45540 20 0 0 0 ffffffff 00000000 S com.google.android.googlequicksearchbox:search
u0_a123@maguro:/ $

As you can see the launcher is -18, but you're right the search process does apparently revert to 0, probably because it closes and restarts like you suggest. Again, not a big deal since the launcher process stays reniced.
[Android Software/Hacking General [Developers Only]] Schneewitzchen:
Thx...you're right! The script works as it should! :good:
[Android Software/Hacking General [Developers Only]] osm0sis:
odex Script Installer is now up in the OP.

Based on the great work and binaries in this thread, I've created an odex commandline script. Flash the installer zip to push the required dexopt-wrapper and zip binaries to /system/xbin along with my odex script and set the appropriate permissions.

Usage: odex [-c] FILE1 [FILE2 ...]
odexes supplied files and/or system frameworks.

-c, --core odex core system framework files
--help Display this help and exit

Core files need to be odexed in the order of BOOTCLASSPATH (in init.rc / init.environ.rc in the ramdisk) and so the option is there to do them all at once, otherwise core framework jar files will be skipped. If you are coming from a completely deodexed ROM, then the core files need to be odexed first, then you can odex the rest. After odexing, the script also removes the corresponding classes.dex from the dalvik-cache to keep things tidy. :good:

Edit: This script is deprecated in Lollipop and above since the Dalvik runtime has been replaced by ART (Android RunTime).
[Android Software/Hacking General [Developers Only]] osm0sis:
I'm dropping Christmas presents like my name was Saint Nick this year! :p

I just cracked the Nexus 7 2013 bootloader LIKE A BOSS, so...

A new Nexus BootUnlocker Zip is up in the OP.

- Add Nexus 7 2013 (flo & deb) support!!

Only 385 downloads of the previous, so please, tell your friends. ;):D
[Android Software/Hacking General [Developers Only]] The Gingerbread Man:
Your on top form! Like a boss indeed :D
[Android Software/Hacking General [Developers Only]] efrant:
Nicely done sir!
[Android Software/Hacking General [Developers Only]] demlv:
Hi,

I've been using the adbsync sd card backup script successfully for several months now. As of recently, I can no longer get the backup process to complete successfully. Multiple PC's now report that "a private heap commit failed . . . press any key". Any ideas on how to troubleshoot this?
[Android Software/Hacking General [Developers Only]] osm0sis:
More info would be nice.

What OS?

Does it happen with a fresh initial backup or only a sync?

What else changed on your system around the time it stopped working?
[Android Software/Hacking General [Developers Only]] starcms:
Using the latest, Magisk 16.3.

Now for 1.28.3 installed on top of 1.28.3 clean. It doesn't break anything before reboot like I had mentioned before, but it breaks all 3 things after reboot (VoWiFi, that ping test, and ls -Z).

Edit: just curious, what file is system utilities? Couldn't find it unless I'm blind.

Edit2:. Should /sbin/.core/img/busybox-ndk/system/bin exist before a reboot on a clean install? That install log that had that error was 1.28.3 clean it I'm not mistaken. However 1.28.3 clean seemed to work fine even with those errors. But 1.28.2 clean however didn't have that in the log.

It must be some tiny thing you are overlooking in the commit you made regarding dirty installs. Unfortunately, whatever language that is coded in, I have absolutely 0 experience with it.
[Android Software/Hacking General [Developers Only]] osm0sis:
They're the ones in /system/bin that with the module uninstalled point to toybox, but when it's broken point to busybox.

So this is really weird, the updated applet filtering worked on [MENTION=4793042]pkgnex[/MENTION] and [MENTION=6842057]nathanchance[/MENTION]'s Pixels, but for some reason isn't on your PH-1. :confused:
[Android Software/Hacking General [Developers Only]] starcms:
Regarding /sbin/.core/img/busybox-ndk/system/bin, on a clean install doesn't exist before rebooting, only /sbin/.core/img/busybox-ndk/ exists with module.prop and enable inside of it, hence the errors in the install log for 1.28.3 clean. Is that maybe where the error is?

---------- Post added at 20:20 ---------- Previous post was at 20:11 ----------

Anyway, I think I've provided you with everything I can. And because of those errors in the install log of 1.28.3 clean, even though it seems to work, I'm going to stick with 1.28.2 until you get this sorted out. If you need anything else from me or to test any new versions, please just let me know. Much thanks!
[Android Software/Hacking General [Developers Only]] osm0sis:
Nope, since the clean install works. Those errors are just an oversight on my part for clean installs where it checks for something which doesn't exist yet. The problem is on the reinstall it somehow makes links for everything, which it shouldn't, and doesn't on other devices. I'll try some things and throw you a test build via PM or something.

Edit: Oh, also, a recovery install will always work, so you can continue to update by dirty flashing the new zips via recovery if you like. It's just booted dirty installs via Magisk Manager causing problems.
[Android Software/Hacking General [Developers Only]] starcms:
On the PH-1, booting to twrp is a pain in the ass. Gotta remove the lock screen pattern (which removes all fingerprints cause twrp can't decrypt 8.1 unless it's only the default password), flash twrp to the boot partition via fastboot, boot to recovery, then once in twrp, flash the stock boot image, magisk, and then finally whatever zips you want, reboot, then put back on the lock screen pattern and fingerprints. Is it like that on the Pixels and all A/B devices?

So I'll stick to clean installs via Magisk until you get it sorted :)

I'll keep my eye open for any builds to test. Thanks for everything!

---------- Post added at 22:00 ---------- Previous post was at 21:58 ----------

Btw, just curious, without the latest commit what was happening? The same problem I'm seeing on my PH-1 happening on the Pixels too?

---------- Post added at 22:03 ---------- Previous post was at 22:00 ----------

And we never heard back from [MENTION=4487388]jcmm11[/MENTION]. Wonder if he has a PH-1 as well or something else.
[Android Software/Hacking General [Developers Only]] jcmm11:
I've been tied up with some other things. I still suspect my problems are from other causes, but we'll see. I have a Nexus 5X, and it has an xbin, so should react like your 6P. I should be able to do some testing tomorrow - day after for absolute certain. (Problem is I have no WiFi at home)
[Android Software/Hacking General [Developers Only]] osm0sis:
Before that a dirty install was removing all symlinks from busybox-ndk/system/bin and not adding any back (as [MENTION=4793042]pkgnex[/MENTION] reported) because the filter tests against the actual /system/bin but, of course, booted with the Magisk module active means they are ostensibly in /system/bin so the filter was filtering them all out. I fixed that by testing against what the zip had previously worked out via clean install in the existing /sbin/.core, and it was reported fixed by [MENTION=6842057]nathanchance[/MENTION] and [MENTION=4793042]pkgnex[/MENTION].

All in all, the installer script has become some pretty deep spaghetti over time from all the additions/fixes/hacks adding up. It's overdue for a refactor and cleanup but I've got some other things on my to-do first.

My main guess right now is this: I recently discovered case matching has its limits with the size of buffer it can hold apparently, so, for example, with a lot of Magisk modules changing a lot of system directories a lot of binds end up in `mount` so matches were breaking in my mount checking script. Maybe something like that is going on with case matching against the contents of your /system/bin because there's more there than on other devices? We'll try that first then go from there. :good:
[Android Software/Hacking General [Developers Only]] starcms:
Do you mean there's more files in my /system/bin vs other devices or I have more magisk modules installed? If you meant the latter, I tried it with only the busybox module with the same results.

And when you say, we'll try that first, is there something you had wanted me to do that went over my head or you meant when you have a chance to make a test build, that's the first fix you'll try? Sorry ;)
[Android Software/Hacking General [Developers Only]] osm0sis:
Vs. other devices.

And that's the first I'll try. I'll PM you a test zip when I've had time to put it together.
[Android Software/Hacking General [Developers Only]] starcms:
That's so odd especially considering the PH-1 runs basically stock Android with just a few Essential system apks, an Essential camera apk, a settings menu option to turn on/off sending usage/diagnostic stats to them, and a developers option menu to change how apps handle the notch area.

My /system/bin contains 498 "files" including symlinks and with BusyBox installed. There is also a /system/bin/hw folder containing one file (so 499 files in total in /system/bin) -- I have no idea if that is standard; just mentioning it in case you think that could be responsible. Maybe you could get in contact with one of the 2 guys who helped you with the Pixel to see what theirs contains.

Thanks again for all the effort and time!
[Android Software/Hacking General [Developers Only]] jcmm11:
Forgot to post. Just want to let you know that busybox is definitely NOT the problem with my setup. Issue lies elsewhere. (Exactly where is still to be determined)
[Android Software/Hacking General [Developers Only]] Atharkhan101:
Can anyone please tell me in very a very simple way what busybox actually does and whether to install it or not
[Android Software/Hacking General [Developers Only]] evilvoice:
Since you offer BusyBox, it'd be nice if we could get an up to date bash flashable. Just throwing it out there.

Also, will you be updating BusyBox? I see talk of .3, but only .2 is available as a flashable.

Thanks
[Android Software/Hacking General [Developers Only]] androcraze:
What it is: a set of command-line tools put into a single file/app. All of these tools are used as individual commands on Linux/BSD machines; BusyBox wraps them into one neat package with a pretty bow tie.

Do you need it: if you're having to ask, then probably not. It's useful for developers and folks who really like to tweak things.
[Android Software/Hacking General [Developers Only]] jcmm11:
Until he Updates the download in this thread you can just download the zip from the Magisk repo on GitHub. It's a universal installer - the Magisk zip is the same as the ones from this thread.

https://github.com/Magisk-Modules-Repo/Busybox-Installer/archive/master.zip

As far as bash goes - you already have Korn. Do you really need bash? What will bash give you that Korn won't (realistically)? If you really insist on bash see the bottom of this thread for 4.4 https://xdaforums.com/android/software-hacking/dev-lastest-bash-android-t2898295/page11
[Android Software/Hacking General [Developers Only]] evilvoice:
I'll try the magisk one.

That thread is currently what I'm using but

1. The zip you refer to isn't flashable. You have to replace the file in the op with the ones from that zip.

2. This command doesn't work in regular shell

for (( ; ; ))
[Android Software/Hacking General [Developers Only]] Aguys:
Ahhh, Nexus Media's bootanimation stop working again on magisk 16.4...
[Android Software/Hacking General [Developers Only]] marcdw:
http://xdaforums.com/showthread.php?p=76381467

Maybe it applies.

Moto G5S Plus XT1806, GZOSP_PixelExperience, MultiROM, Tapatalk 4.9.3
[Android Software/Hacking General [Developers Only]] jcmm11:
Move /cache/magisk_mount to /data/adb/magisk_simple

---------- Post added at 02:34 PM ---------- Previous post was at 01:36 PM ----------

Are you trying to get an infinite loop? Try using

while [[ true ]]

which also happens to be much more self documenting

If you're just talking about the general construct then yes you'd have to use an alternate method. Which doesn't mean that what you want can't be done. Example

for((i=1;i<=30;i++))
do
echo $i
done

i=1
while (( i <= 30 ))
do
echo $i
(( i+=1 ))
done

Edit: slightly simplified example code
[Android Software/Hacking General [Developers Only]] remarkablecow913:
And that is where I need to learn more on what those commands do. I can't get the arguments down. Some commands have a crap ton of options (arguments) then others are very basic and easily grasped. Do you know of any Linux tut that only cover the commands found in Android Linux kernel and\or BusyBox. I have found some for full blown Linux distro s but not solely for what's included in Android. Any help would be awesome
[Android Software/Hacking General [Developers Only]] osm0sis:
Busybox has pretty decent help included (in my builds anyway), so if you run `busybox command --help` it'll generally explain itself. You can always search the command on Google and you'll find general info from, for example, the Linux man (manual) pages.
[Android Software/Hacking General [Developers Only]] remarkablecow913:
Oh and the device I used for commands was generic Samsung tablet if that makes a difference, but I don't think so.

Were you able to get adb working? I am just wondering because I was able to use the adb fastboot module to unlock and root my LG phone. I know you have different device but should work the same. I had to have my otg on the device I was running command from. Not sure why or if that will help you as I don't see anymore questions and op basically answered your question. If I can help at all let me know.
[Android Software/Hacking General [Developers Only]] jcmm11:
App for Linux man pages

https://play.google.com/store/apps/details?id=com.softsandr.man

For the default shell found in Android (mksh) ( basically a Korn shell) https://www.mirbsd.org/mksh.htm

That should be enough to get you started and keep you busy for a while. Pretty much any Linux tutorial will be applicable - just be aware that you may run into some small differences.
[Android Software/Hacking General [Developers Only]] androcraze:
Each command included in BusyBox has an online "man" page and multiple web pages with examples:

The "man" page for "sed" (found using "linux man sed", first link):

https://linux.die.net/man/1/sed

Examples for "sed" usage (found using "linux sed examples", first link):

https://linuxconfig.org/learning-linux-commands-sed

As busybox has all of the commands consolidated, you're actually calling busybox then the command:

busybox sort file.txt

instead of Linux's:

sort file.txt

Before even trying busybox on Android, I'd download the Windows version and play with that in a CMD terminal (you'd score one for the Team if you'd do it in PowerShell); it functions exactly the same, and is much easier to use with a full keyboard.
[Android Software/Hacking General [Developers Only]] DiamondJohn:
Or Virtual Box running a Linux OS. This box could also be used to build your own ROMs; if you have the inclination;)
[Android Software/Hacking General [Developers Only]] starcms:
[MENTION=4544860]osm0sis[/MENTION],

Here's the term output from the very latest version. I think you got it fixed, but look it over just to be sure. Thanks for all the help!!
[Android Software/Hacking General [Developers Only]] remarkablecow913:
I have actually thought about that possibility. I know I have seen a tutorial or two about building from your

Phone. Then I hear that it's not feasible to do so. Doesn't a virtual box running on your phone still have the limitations of the device? Meaning ram and processing.
[Android Software/Hacking General [Developers Only]] DiamondJohn:
Sorry I wasn't clear, but VirtualBox(TM) is an Oracle product that runs on the PC (ie Windows, Linux or Unix), not your phone. I run it on my Win7 desktop PC. I run Linux as a VBox because my PC is Windows.
[Android Software/Hacking General [Developers Only]] ashyx:
I also run Linux as a VM as I like the interoperability between Windows and Linux.

I use VMWARE as I find it has more features and tends to run better.

You can find ready to go VM's at OSBOXES.ORG.
[Android Software/Hacking General [Developers Only]] DiamondJohn:
Regarding VM's on a PC, there is also the AVD manager which specifically runs a virtual android device on your PC. It is commonly used by devs to test apps before you install them onto a device, and allows different configs to test your new app.
[Android Software/Hacking General [Developers Only]] osm0sis:
The latest goodies. Unfortunately neither Surge or I could get the latest fastboot to compile without it giving an "Illegal Instruction" error when run on older devices, so just to get `fastboot flashing` support out there, I've added both to the installer and will only install the new fastboot binary on devices where it works (the majority of devices), falling back to the old.

For the updated busybox, it now works properly with dirty Magisk Manager module reinstalls on devices without xbin, the issue was partial matching of applet names breaking the applet filtering needed for those devices. Thanks [MENTION=2557531]starcms[/MENTION] for all the help tracking it down! Those on devices without xbin will probably want to uninstall the module and reinstall the latest version from here or the module repo to be sure they've got a fully working install.

I work on these projects in my limited time off, so if you like the progress I'm making, or enjoy anything else I've done on xda, please do hit the donate link from my profile. Thanks for your support!

UPDATE-adb.Installer.v1.0.39-signed.zip:

- update to latest fastboot, many thanks to [MENTION=4939386]Surge1223[/MENTION]

- test during install and fallback to older fastboot binary if on an unsupported device for the new binary

- bump Magisk template version to 1500

UPDATE-Adreno.Systemless.Installer-signed.zip:

- bump Magisk template version to 1500

UPDATE-Busybox.Installer.v1.28.3-ALL-signed.zip:

- update to latest busybox stable official source

- bump Magisk template version to 1500

- fix Magisk Manager dirty installs on devices without xbin

- improve installer to avoid possible case buffer issues and speed up */bin install applet filtering

- fix system installs on devices without xbin

See the related commits here: https://github.com/osm0sis/android-busybox-ndk

UPDATE-nano.Terminal.Editor.v2.9.6-signed.zip:

- update to latest nano official source

- bump Magisk template version to 1500

UPDATE-Nexus.Media.Installer-signed.zip:

- fix boot animation basic mount on Magisk 1640+

- bump Magisk template version to 1500
[Android Software/Hacking General [Developers Only]] remarkablecow913:
Windows 7 pro is ok for using vm boxes with? I like the idea of using it that way so that you are still retaining access to windows function.
[Android Software/Hacking General [Developers Only]] ashyx:
It depends on your hardware. If you don't have an up to date CPU you may not be able to run the latest VM software.

Check the specs to see which VM software your setup can support.