Nope, i know the whole reason whats PIE etc, but the reason isnt related to it. 5.0+ should just use gdb from termux and older android could use gdb from Dan's. I've tried some hacky build for support 4.x and it really sucks, Why bother to force termux to useable on <5.0? thats the reason. You...
idk what you mean. But termux has a package manager system which android didnt has it out of the box. There's no downside even if you have it installed anyway. It has many package to play with soo.. termux-packages/packages at master · termux/termux-packages · GitHub
Android SDK has builtin emulator, development kit standard should be enough used for debugging purpose. Or just bake a custom rom from android-x86 project, thats what i'm doing anyway.
Well, now i wont bother to spoonfed to a guy pour some salt to me in the first place. My advice is that you need to read and know what the text means before complain.
Have you tried to replace ida_idp with idaapi? Thats fix the problem. I dont know why you said have tried all of it but it doesnt work. Coz all of the solution given in that link is working fine. ¯\_(ツ)_/¯
Basically what everyone like for editing dll is that you dont really need to worry about how much bytes or instruction can be replaced. Binary patch to libso, you need to careful for how much bytes patched. So, by hooking to orig function you dont really need to worry how much bytes is patched.
GitHub - circleous/Liberation-android: A runtime patching library for Android. Here's my shitty project for runtime patch. Based on Liberation iOS. Hooking in arm can be done by set pc to the function address.
Not that i know. But you can get function offset from il2cpp dumper and hook to that function if you really need freedom of editing, not byte-by-byte patching.