[Q] Change adb shell sh executable - Galaxy S I9000 Q&A, Help & Troubleshooting

How do I change what command is executed when I type "adb shell"? Currently, it is /system/bin/sh.
Even if I run adb shell ls, it seems like it needs to execute sh at first.
There has to be some script somewhere to edit, right? I cannot use a symlink from /system/bin/sh.
The specific program is "busybox sh" in my case. What do I do?

It may actually work to link /system/bin/sh to busybox, but I'd be hesitant to do it. Any mistake could make the system unusable.
It might be possible to pull /system/bin/sh (or get a copy from a nandroid backup), try the above, then push the file back if something goes wrong. I don't know if the adb push command requires /system/bin/sh to be already working. Certainly adb push requires the ability to successfully do adb remount first.

Related

Help With ADB...please

Hey guys, i'm having a bit of a problem here. It might be a stupid problem that i am over looking, but i just cant seem to figure it out. I dont use ADB often, but i just installed cyanogens newest rom and it no longer comes with the advanced launcher. which i absolutely love. so heres my issue, I am trying to follow these directions:
Installation
- Plug your USB cable into the phone and your computer
- Make a backup of your original launcher: "adb pull /systemapp/Launcher.apk LauncherBAK.apk"
- Remount the /system filesystem: "adb remount"
- Unzip the advanced launcher "unzip Launcher_update_x.zip"
- Push the advanced launcher "adb push Launcher.apk /system/app/Launcher.apk"
- Remove the odex file "adb rm /system/app/Launcher.odex"
- Reboot your phone.
This is whats happening:
cd C:\android-sdk-windows-1.5_r3\tools
C:\android-sdk-windows-1.5_r3\tools> adb shell
#adb pull /system/app/Launcher.apk LauncherBAK.apk
adb: not found
#
I tried moving forward without backing up. this is what i get:
adb: not found
#adb remount
adb remount
#adb: not found
#
This is where im at. can sombody please point me int he right direction of whats going on here? thank you
As I understand it, when you type adb shell, youre in the android shell, and no longer use the adb commands, but you use the commands that youd use in console. ADB has different commands, which you can list by just typing adb.
SO,
plug it in
adb remount
adb pull /system/app/Launcher.apk LauncherBAK.apk
unzip Launcher_update_x.zip
adb push Launcher.apk /system/app/Launcher.apk
adb rm /system/app/Launcher.odex
reboot
That should work. Dont use the shell. The pros can feel free to correct me.
Hummeroid said:
As I understand it, when you type adb shell, youre in the android shell, and no longer use the adb commands, but you use the commands that youd use in console. ADB has different commands, which you can list by just typing adb.
SO,
plug it in
adb remount
adb pull /system/app/Launcher.apk LauncherBAK.apk
unzip Launcher_update_x.zip
adb push Launcher.apk /system/app/Launcher.apk
adb rm /system/app/Launcher.odex
reboot
That should work. Dont use the shell. The pros can feel free to correct me.
Click to expand...
Click to collapse
As far as I know this is right. Don't try to pull when you're in adb shell.
Hummeroid said:
As I understand it, when you type adb shell, youre in the android shell, and no longer use the adb commands, but you use the commands that youd use in console. ADB has different commands, which you can list by just typing adb.
SO,
plug it in
adb remount
adb pull /system/app/Launcher.apk LauncherBAK.apk
unzip Launcher_update_x.zip
adb push Launcher.apk /system/app/Launcher.apk
adb rm /system/app/Launcher.odex
reboot
That should work. Dont use the shell. The pros can feel free to correct me.
Click to expand...
Click to collapse
Right on! thanks so much Hummeroid.
Okay so I tried to do it without the shell and this is what i'm getting. So I'm stuck...Btw, I really appreciate all the help everyone's giving me.
C:\>cd androidsdk\tools
C:\AndroidSDK\tools>adb devices
List of devices attached
HT96LLV00999 recovery
C:\AndroidSDK\tools>adb remount
remount failed: Invalid argument
C:\AndroidSDK\tools>
Why are you doing in recovery, try it with the phone on.

[Q]I'm trying to make a little .cmd file to uninstall my apps. need a little help.

Trying to make a little .CMD Files to uninstall my app so I don't have to type everything in again when I do a flash rom.. here is what I have
Code:
pause
@adb kill-server
@adb shell cd /system/app/
@adb shell su*
pause
@adb shell rm /system/app/RemotePVR.apk
@adb shell rm /system/app/tn55-android-blur.apk
@adb shell rm /system/app/FaceRecognition.apk
@adb shell rm /system/app/Layar-samsung.apk
pause
The issue is at the "@adb shell su*" I get an error saying at the super not found.. now when I type the commands in my self it works great.. but in a .bat file or .cmd files it does not work.. what i'm I missing?
Every call to ADB like this is a standalone command.
That is, when you do a
Code:
adb shell cd /system/app/
what happens is that it starts the adb shell, runs the command, and then exits. So when you call su, you lose superuser access when running the next adb shell command, because that shell instance is now gone, kaput, finito.
I also tried to make a script like this, but got stuck. We need to chain commands to ADB, like you can do in *nix with a semi-colon separator between command, like thus:
Code:
command1 ; command2
("&&" in Windows/DOS)
But ADB doesn't seem to support chaining commands.
I guess you have to do a shell script, put it on the phone and run it from there. Or some kind of "adb sushell" command would be nice...
Thanks I was kinda wondering if that was what was happening.. to bad the su command would not stay active.. o well.... maybe someone will come up with something..
Im not at a pc but can u test
adb shell su command
Does tht work ?
you could make a 2nd script which pushes the 1st to the device with "adb push". this script then gets root with "su" and uninstalls/deletes the apps ... btw. you can try using "pm" (packetmanager) which can install/uninstall/reinstall apps. however i don't know if it works with system apps...
Alright here : (eg, say remove launcher)
Code:
adb shell su -c 'mount -o rw,remount /dev/block/mtdblock3 /system'
adb shell su -c 'rm /system/app/Launcher.apk'
adb shell su -c 'rm /system/app/Launcher.odex'
adb shell pm uninstall com.android.launcher
fyi : "SystemApp Remover" on market essentially does the same thing, except it eliminates the need for u to look for the package name ur self.
Hm, that works, but I get a superuser prompt on the phone for every new command (the "app name" is the command line).
Daneshm90 said:
Alright here : (eg, say remove launcher)
Code:
adb shell su -c 'mount -o rw,remount /dev/block/mtdblock3 /system'
adb shell su -c 'rm /system/app/Launcher.apk'
adb shell su -c 'rm /system/app/Launcher.odex'
adb shell pm uninstall com.android.launcher
fyi : "SystemApp Remover" on market essentially does the same thing, except it eliminates the need for u to look for the package name ur self.
Click to expand...
Click to collapse
sweet that worked. I would get the SystemApp Remover but I can't download paid apps till Google will fix my account. unless there is something like it for free.

[Q] ADB permission denied

Hi,
my ADB doesn't work correctly. I plug the phone into the pc with USB Debugging enabled (stock V20m 2.3.4) and run adb.
I can type su and the phone shows shell was given su rights, so the connection must be ok.
But I can't give any command. When I type in adb remount it says permission denied. The same problem with any other command like adb pull /system/app/Camera.apk
Everytime comes permission denied.
What can I do? Please help me.
You're running a kernel which doesn't enable the adb remount option (or rather default.prop in the ramdisk doesn't). To get around it:
Code:
adb shell
su
mount -o remount,rw /dev/block/mmcblk0p1 /system
...this basically does the same thing. There may be something else wrong though, as pulling an app from /system/app should work without it.
EDIT: Make sure you're not in the adb shell when running adb commands. Pull and push commands for example must be run in the computer-shell, not the adb shell.
Thank you very much!
TrymHansen said:
EDIT: Make sure you're not in the adb shell when running adb commands. Pull and push commands for example must be run in the computer-shell, not the adb shell.
Click to expand...
Click to collapse
That was the solution for the problem with pull/push files.

Onemsomic's ICS 3.1RC no GPS lock!

I wanted to ask this in the actual thread but 10 post limit...
Anyway,
I can't get any GPS lock on my I9000, Onemsomic's ICS RC3.1, JVU modem.
I tried changing the NetworkLocation.apk by following this post http://forum.xda-developers.com/showthread.php?p=21351809#post21351809
but since I have absolutely no idea how to use ADB I couldn't do the "change mode to 0644" step.
Someone help a noob?
Thanks.
Well, first off, download the *.apk provided in that post and place it on the sdcard.
adb is a command line tool, so you must insert those commands on a terminal emulator (maybe you got one installed, if not, download one from the market, I can recommend "Android Terminal Emulator").
So, open your terminal emulator and go to the directory where you placed your *.apk. this example has been wrote with the *.apk in the sdcard folder:
Code:
su
cd /mnt/sdcard
adb start-server
adb remount
adb push NetworkLocation.apk /system/app/NetworkLocation.apk
adb chmod 0644 /system/app/NetworkLocation.apk
adb reboot
Note: I wrote this example following my common sense, so I'm not completely sure if this will work!
Cheers!
AurosGamma said:
Well, first off, download the *.apk provided in that post and place it on the sdcard.
adb is a command line tool, so you must insert those commands on a terminal emulator (maybe you got one installed, if not, download one from the market, I can recommend "Android Terminal Emulator").
So, open your terminal emulator and go to the directory where you placed your *.apk. this example has been wrote with the *.apk in the sdcard folder:
Code:
su
cd /mnt/sdcard
adb start-server
adb remount
adb push NetworkLocation.apk /system/app/NetworkLocation.apk
adb chmod 0644 /system/app/NetworkLocation.apk
adb reboot
Note: I wrote this example following my common sense, so I'm not completely sure if this will work!
Cheers!
Click to expand...
Click to collapse
I get a "device not found" error after adb remount. What should I do?
hadar.shamir said:
I get a "device not found" error after adb remount. What should I do?
Click to expand...
Click to collapse
Well I have been looking here and there, and I found that adb doesn't work directly on the phone, you must use adb from your pc. So, this is what you should do from now on:
Install Java SDK
Install Android SDK
Turn on "USB Debugging" in your SGS settings
Connect the Device to the PC
And finally, use the following commands (from the PC):
Code:
// Go to the folder where you put the *.apk
cd C:\users\exampleuser\Documents\ // or /home/exampleuser/Documents/ if you're using linux
adb start-server
adb remount
adb push NetworkLocation.apk /system/app/NetworkLocation.apk
adb chmod 0644 /system/app/NetworkLocation.apk
adb reboot
Note:
The text after the double-slash ( // ), must not be written in the console, they are just comments
You need to install the SDK's because there it is where the adb tool (and tools needed by adb) is found, so, good luck!

Patching Sepolicy with Supolicy Tool, modifed file not produced.

I am in the position of having to manually apply the defult sepolicy patch, init,?*init_shell?* and?*recovery?*permissive, and as the title states when using the supolicy tool to modify my supplieded sepolicy it is not being produced and on closer inspection throwing an error. I have attached both the images and the sepolicy file I am trying to applie these change to.
Have I been doing something wrong or is the file corrupted??
If you need more info just ask
Note: when I first tried it inside an adb shell it reported a segumentation fault, but I was unable to reproduce that condition to be provided with as a screen shot.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
EDIT: I at least can say that the possibility of a corrupt file is now smaller becuse I am able to run dumpav and dump its contents to a txt file and then do afb pull back to pc. So amyone know any way to applie the defult P atchs needed to sysyemless root?
@Chainfire Since this is your binary files, you should know the most about it.
Commands to gain application root on emulator
Code:
adb shell df #Check Available Space
adb shell mount -o remount,rw /system
adb push su /system/bin/su
adb shell chmod 0755 /system/bin/su
adb push su /system/xbin/su
adb shell chmod 0755 /system/xbin/su
adb shell su --install
adb shell "su --daemon&"
adb install superuser.apk
adb install rootcheck.apk
I then proceed to patch the sepolicy file with the following commands
Code:
adb push sepolicy /data/local/tmp/sepolicy
adb shell su -c "supolicy --file /data/local/tmp/sepolicy /data/local/tmp/sepolicy_out" #There is no sepolicy_out file
adb shell su -c "chmod 0644 /data/local/tmp/sepolicy_out"
adb pull /data/local/tmp/sepolicy_out sepolicy_out
So what am I able to do?
Are you able to
A) Help me debug the problem
Or
B) Patch the sepolicy file and post the output back to me/here
Matt07211 said:
...
Click to expand...
Click to collapse
Works fine on my device... could be an x86 specific issue? Unfortunately I don't have any x86 devices to test with.
Thanks for that. Yes, I am trying to patch the policy for my armv8 (arm64) cpu device (just realised, but would trying to patch the sepolicy from one architecture using the supolicy for a different architecture have new the problem?, if so I feel dumb). And since I didn't have a spare device devce that met the requirements, I resorted to use the already setup emulator in my Windows installation.
I had proceeded to root and run the supolicy tool for which nothing out-putted (tried different directorys), I then created a new sub-directory, test, in /data/local/tmp and chmod it with read and write permissions. I tried again and failed, I then ran a dumpav in the sepolicy I was trying to patch and outputted it to /data/local/tmp/test/dumpav.txt which worked.
I am just wondering why it didn't work for me .
Thanks again for the sepolic_out file, I really do apperciate it.
Ah you're saying the segmentation fault occurred on the emulator? That's interesting. Might be reproducable on my end.
Note: look at my first image with cms in the foreground and near the bottom of the command window you should see the segfault message, around second last command or so.
To reproduce that segfault (hopefully):
1) https://software.intel.com/en-us/android/articles/android-44-kitkat-x86-emulator-system-image Download the system image from here (had to direct download instead of sdk as internet was running through profile and ask wouldn't work through it)
2) used the 2.78 SuperSu zip and run above commands to gain root
3) run above commands to try and modify sepolicy (it doesn't produce anything)
4) start an adb shell and then run the commands inside the shell. Know the outputs shown was segfault the first time running the commands, every time afterwards it would show the error in the above screenshots
If you figure out what cause the segfault can you please tell me ?
Matt07211 said:
Note: look at my first image with cms in the foreground and near the bottom of the command window you should see the segfault message, around second last command or so.
To reproduce that segfault (hopefully):
1) https://software.intel.com/en-us/android/articles/android-44-kitkat-x86-emulator-system-image Download the system image from here (had to direct download instead of sdk as internet was running through profile and ask wouldn't work through it)
2) used the 2.78 SuperSu zip and run above commands to gain root
3) run above commands to try and modify sepolicy (it doesn't produce anything)
4) start an adb shell and then run the commands inside the shell. Know the outputs shown was segfault the first time running the commands, every time afterwards it would show the error in the above screenshots
If you figure out what cause the segfault can you please tell me ?
Click to expand...
Click to collapse
Before I go do all this, can you make sure the issue persists with the v2.78 SR1 version from the BETA thread ? Some issues with supolicy were fixed in that release.
Started with a fresh emulator and the newest SuperSu and ran these commands to gain root (I am placing everything as described in update-binary in the right places just to eliminate one thing, missing dependencies)
Code:
adb shell df
adb shell mount -o remount,rw /system
adb push Superuser.apk /system/app/Superuser.apk
adb shell chmod 0644 /system/app/Superuser.apk
adb push install-recovery.sh /system/etc/install-recovery.sh
adb shell ln -s /system/etc/install-recovery.sh /system/bin/install-recovery.sh
adb shell chmod 0755 /system/etc/install-recovery.sh
adb push su /system/xbin/su
adb shell chmod 0755 /system/xbin/su
adb push su /system/bin/.ext/.su
adb shell chmod 0755 /system/bin/.ext/.su
adb push su /system/xbin/daemonsu
adb shell chmod 0755 /system/xbin/daemonsu
adb push su /system/xbin/sugote
adb shell chmod 0755 /system/xbin/sugote
adb push supolicy /system/xbin/supolicy
adb shell chmod 0755 /system/xbin/supolicy
adb push libsupol.so /system/lib/libsupol.so
adb shell chmod 0644 /system/lib/libsupol.so
adb push 99SuperSUDaemon /system/etc/init.d/99SuperSUDaemon
adb shell chmod 0755 /system/etc/init.d/99SuperSUDaemon
adb shell su --install
adb shell "su --daemon&"
adb install superuser.apk
adb install rootcheck.apk
No everything should be in place, and we now can eliminate one thing (supolicy not finding needed dependencies)
Opened up SuperSu and let it install/update binary (succesful)
I then proceeded to patch the sepolicy file like so
Code:
adb push sepolicy /data/local/tmp/sepolicy
adb shell su -c "supolicy --file /data/local/tmp/sepolicy /data/local/tmp/sepolicy_out"
I then did "ls" in the directory and no file out-putted. So I went into a shell and ran
Code:
supolicy --file /data/local/tmp/sepolicy /data/local/tmp/sepolicy_out
And it throw the error shown in the image below. First time running that command in shell it says stopped, but the second time it says stopped as well as segfault.
Keep in mind I am trying to patch a sepolicy file that originates from an armv8 cpu (arm64) on an x86 Intel emulator.
Any more info needed? I am happy to help @Chainfire
So, I think it has something to do with your emulator image (perhaps its too old ?)
I took SuperSU's ZIP file and extracted it, changed to that folder, then:
(note that my adb shell to my emulator image has # root by default)
Code:
adb push c:\download\sepolicy /data/local/tmp/sepolicy
adb push x86\. /data/local/tmp/.
adb shell
cd /data/local/tmp
chmod 0755 supolicy
LD_LIBRARY_PATH=/data/local/tmp:$LD_LIBRARY_PATH ./supolicy --file sepolicy sepolicy_out
exit
Resulting in:
Code:
supolicy v2.78 (ndk:x86) - Copyright (C) 2014-2016 - Chainfire
Patching policy [sepolicy] --> [sepolicy_out] ...
- Success
So, I'm really not sure what might be going on with your setup, but I don't think its SuperSU itself, but rather the emulator.
Note that to use supolicy --file, you only need supolicy and libsupol.so, you don't even need root.
Chainfire said:
So, I think it has something to do with your emulator image (perhaps its too old ?)
I took SuperSU's ZIP file and extracted it, changed to that folder, then:
(note that my adb shell to my emulator image has # root by default)
Resulting in:
So, I'm really not sure what might be going on with your setup, but I don't think its SuperSU itself, but rather the emulator.
Note that to use supolicy --file, you only need supolicy and libsupol.so, you don't even need root.
Click to expand...
Click to collapse
Hmm, I really don't know what is wrong, I will try exactly what you have done later today, to see If can reproduce the output. If it doesn't work then we can pin it down to the emulator itself. What emulator image did you use?
I also realise that so emulator are rooted in the sense that web shell has root acess, just wasn't sure what dependices supolicy had at the time.
Matt07211 said:
Hmm, I really don't know what is wrong, I will try exactly what you have done later today, to see If can reproduce the output. If it doesn't work then we can pin it down to the emulator itself. What emulator image did you use?
I also realise that so emulator are rooted in the sense that web shell has root acess, just wasn't sure what dependices supolicy had at the time.
Click to expand...
Click to collapse
I created an API 22 Google Nexus x86_64 AVD in Android Studio
I should be able to try that in about 20-30 mins after I download it, I was using api level 19, Intel's emulator image.
I ran these commands on the Intel api 19 x86 emulator image.
Code:
adb push libsupol.so /system/lib/libsupol.so
adb shell chmod 0644 /system/lib/libsupol.so
adb push /system/xbin/supolicy
adb shell chmod 0755 /system/xbin/supolicy
adb push supolicy /data/local/tmp/supolicy
adb shell chmod 0755 /data/local/tmp/supolicy
adb push sepolicy /data/local/tmp/sepolicy
adb shell
cd /data/local/tmp
chmod 0755 supolicy
LD_LIBRARY_PATH=/data/local/tmp:$LD_LIBRARY_PATH ./supolicy --file sepolicy sepolicy_out
and it results in the error(shown in screenshot)
Code:
libsepol.policydb_read: policydb magic number 0x464c457f does not match expected magic number 0xf97cff8c or 0xf97cff8d
-Failure!
I then tried it on the Intel x86_64 api 22 emulator image (running the same commands as the first one, resulting in a succes, with the file being outputted as the sepolicy_out.
So as you have stated @Chainfire , it looks like a problem with the emulator itself, and most likely not the supolicy tool.
Chainfire said:
So, I think it has something to do with your emulator image (perhaps its too old ?)
I took SuperSU's ZIP file and extracted it, changed to that folder, then:
(note that my adb shell to my emulator image has # root by default)
Code:
adb push c:\download\sepolicy /data/local/tmp/sepolicy
adb push x86\. /data/local/tmp/.
adb shell
cd /data/local/tmp
chmod 0755 supolicy
LD_LIBRARY_PATH=/data/local/tmp:$LD_LIBRARY_PATH ./supolicy --file sepolicy sepolicy_out
exit
Resulting in:
Code:
supolicy v2.78 (ndk:x86) - Copyright (C) 2014-2016 - Chainfire
Patching policy [sepolicy] --> [sepolicy_out] ...
- Success
So, I'm really not sure what might be going on with your setup, but I don't think its SuperSU itself, but rather the emulator.
Note that to use supolicy --file, you only need supolicy and libsupol.so, you don't even need root.
Click to expand...
Click to collapse
@Chainfire, I'm trying to patch sepolicy for a Samsung device running Nougat, so that Supersu can be installed in system mode. Could you confirm if the --sdk=24 parameter is required?
adb shell su -c "supolicy --file /data/local/tmp/sepolicy /data/local/tmp/sepolicy_out --sdk=24"
Thanks, appreciate your time.
ashyx said:
@Chainfire, I'm trying to patch sepolicy for a Samsung device running Nougat, so that Supersu can be installed in system mode. Could you confirm if the --sdk=24 parameter is required?
adb shell su -c "supolicy --file /data/local/tmp/sepolicy /data/local/tmp/sepolicy_out --sdk=24"
Thanks, appreciate your time.
Click to expand...
Click to collapse
Yes it is.
System mode hasn't been tested at all on 7.0 though. I'm not sure anybody has been able to get it to work at this point.
If you do, let me know and with the steps
Chainfire said:
Yes it is.
System mode hasn't been tested at all on 7.0 though. I'm not sure anybody has been able to get it to work at this point.
If you do, let me know and with the steps
Click to expand...
Click to collapse
Hmm wasn't aware of the lack of support for system mode in nougat, any plans to implement?
It seems system mode root renders the device unbootable according to reports from my tester.
Question, if I modify the supersu script to mount su.img from /system am I likely to hit issues?
Seems a strange query I know.
Reason is we have a Samsung device that for some reason will not boot from a source built custom Nougat kernel. Not sure if this is related to AVB yet or something else.
However we can get a half assed TWRP to boot with the stock kernel.
Only problem is, no matter what, only /system can be mounted and accessed with write permission due to permission denied issues with the rest of partitions. Pretty sure this is an SELinux issue.
Meaning systemless root cannot be installed as normal. No access to /data or /cache.
I can patch the boot.img ramdisk manually for systemless, but for root to work I would need to push su.img to system and mount it from there.
Is it possible to still mount su.img from system if I modify the ramdisk init as required?
The other avenue is to flash su.img to /data or /cache via ODIN.
If it was flashed to /cache would supersu automatically pick up its location and copy it to /data or would a flag need to be set?
Just trying to keep my options open here.
ashyx said:
Hmm wasn't aware of the lack of support for system mode in nougat, any plans to implement?
It seems system mode root renders the device unbootable according to reports from my tester.
Click to expand...
Click to collapse
It is on my list of things to test/fix, but that list is long and full of terrors.
Question, if I modify the supersu script to mount su.img from /system am I likely to hit issues?
Is it possible to still mount su.img from system if I modify the ramdisk init as required?
Click to expand...
Click to collapse
I think that could work, yes.
The other avenue is to flash su.img to /data or /cache via ODIN.
If it was flashed to /cache would supersu automatically pick up its location and copy it to /data or would a flag need to be set?
Just trying to keep my options open here.
Click to expand...
Click to collapse
SuperSU should pick it up from /cache. Alternatively, try SuperSU's FRP mode, which stores a copy of the needed files in the boot-image and re-creates /data/su.img as needed.
Chainfire said:
It is on my list of things to test/fix, but that list is long and full of terrors.
I think that could work, yes.
SuperSU should pick it up from /cache. Alternatively, try SuperSU's FRP mode, which stores a copy of the needed files in the boot-image and re-creates /data/su.img as needed.
Click to expand...
Click to collapse
Thanks, great info as always. Finally managed to root the damn thing by adding a short script to the init which copies su.img to cache.
However FRP mode sounds like a more elegant solution if I can work out how to implement it in the Ramdisk.
Much appreciate your input.
ashyx said:
So, I think it has something to do with your emulator image (perhaps its too old ?)
...
Could you confirm if the --sdk=24 parameter is required?
adb shell su -c "supolicy --file /data/local/tmp/sepolicy /data/local/tmp/sepolicy_out --sdk=24"
Thanks, appreciate your time.
Click to expand...
Click to collapse
Yea believe it was segfaulting due to the Android version, I think I was using KitKat and it wasn't working, bumped up to lollipop and above and it worked fine
Oh, the SDK parameter, never heard of it, what does it do? Geuss I'll Google that then.
ashyx said:
Thanks, great info as always. Finally managed to root the damn thing by adding a short script to the init which copies su.img to cache.
However FRP mode sounds like a more elegant solution if I can work out how to implement it in the Ramdisk.
Much appreciate your input.
Click to expand...
Click to collapse
I did the same thing for my device, add a little script to move it to data. Had no other way to get it to a locked down device without TWRP. Hehe. Good job
Can you please tell me how to manually patch init by supersu ?
I've googled a lot, but haven't found a way to manually patch init by supersu.
My model is Honor v10, there isn't a custom recovery, so i have to make a boot.img with supersu inside to get root.

Categories

Resources