Manually Rooting - What Else Is Needed? I have copied the su binary and superuser.apk to my device via an adb root shell. The su binary is in both /system/bin and /system/xbin, and I am able to successfully use it in my adb shell (for example, I get the help menu when executing adb shell "su -h"). The superuser.apk as well as a good copy of supersu.apk (obtained from reading other similar posts here on stackexchange) are installed in /system/app.

su has been chown'ed and chmodded with the proper permissions. I've double checked that the superuser.apk and supersu.apk have been chowned by root.

Launching SuperSu.apk I get a message that says "Root undetected"
Superuser.apk shows 2 entries in the logs as having granted root

I have tried removing each of the .apks and trying just one on the system. I've also tried different precompiled su binaries I've found through XDA forums and stackexchange.com

No rooted apps work properly: I never get a prompt from Superuser.apk to grant root permissions, and root checking apps find the su binary and superuser.apk but fail to execute as root.

Can someone tell me what I'm missing?

I did find some random github article for rooting a different device that mentions a roothandler https://github.com/Unkn0wn-0nes/RootMyValet/wiki/Manual-installation-Instructions 

Please note one odd constraint: I am trying to manually root, I don't care if it's just a temporary root. Flashing via TWRP is not an option, I cannot alter/remove/backup user data from this particular device, so I don't want to risk wiping it.
You also need to copy the busybox binary to /system/bin and /system/xbin. This may be the only step you're missing. Also, you only need one of superuser or supersu.

edit I was wrong, although for anyone else following along, the busybox binary from busybox.net includes su, which I thought was pretty cool. Anyway, it seems that rooting a modern android phone takes a bit more work. I took a look at the supersu zip, and from what I can tell, it creates a whole new ext4 system image and mounts it at /su. It also installs a few system daemons and initialization routines.