[Miscellaneous Android Development] Matt07211:
Preface: I'm currently using this device and really like it, and as you all may have realised, that this device is considered as a low activity device on XDA, and no developers that I know of have taken a crack at this phone. This thread is to consolidate all information pertaining to the device.

If some area are empty, they will have more content in the future as we progress with this awesome device.

Feel free to post any mods that have worked (preferably in systemless mode)

Table of Contents:

Post 1) Rooting, TWRP and useful Links

Post 2) Info for Developers

Post 3) Roms & Mods

Post 4) Reserved

Useful Links:

My Github (Matt07211) containing kernel source code, to keep with the GPL licenses.

Samsung Kernel Source Code 4.4.4/5.1.1 and 6.0.1

Firmware Samsung xCover 3 and Samsung xCover 3 Value Edition

TWRP for Samsung xCover3 (Kit Kat)

TWRP for Samsung xCover3 Value Edition Credits: [MENTION=884555]Heledir[/MENTION] for the link

SuperSU

Prerequisites:

ADB Installed

USB Debugging Enabled

Samsung USB Drivers Installed

Samsung ODIN (Preferably Odin3_v3.10.7 or above)

A Brain that can use common sense, or Google

Disclaimer:

Anything you do with your own phone is done at your own risk. Don't complain if you accidentally brick your phone. Fix it by using Google, flash back stock firmware or post on XDA for help.

Knox will probably be voided, and so will your warranty.

We cannot say what works for us, may or may not work for you.

Good luck :)

Using ODIN:

1) Enable USB Debugging, and OEM Unlock (If available), these can be reached from the developer menu. The develpoer menu can be activated by taping "Build Number" 7 times in the about section.

Don't disable OEM Unlock (Ever) once modifing your phone, because FRP (Factoy Reset Protection) will be activated, and then you will be forced into reinstalling stock firmware, aalnd losing all your data in the process.

2) Turn phone off, boot into download mode (Power + Volume Down + Home) and then press Volume Up to use download mode when greeted with a yellow warning.

3) Launch ODIN, and plug phone into Computer. You should see some text like this "ID:COM" in blue.

4) Click the AP button (If it says PDA then you have an older version of ODIN, and are recommended to use a newer version) and Select the file that will be flashed. E.g. TWRP or a Boot.img. Making sure the only options ticked are "F.Reset Time" and "Auto-Reboot". If you are flashing a recovery (E.g. TWRP) then make sure "Auto-Reboot" is unticked, and when ODIN says successful flash then you'll have to then reboot the phone your self(Either by holding any combination of Volume Keys (Any one) + Power + Home or Removing the Battery and Placing back in) and reboot straight into recovery (at least once, else the stock recovery will replace TWRP on a normal boot bu a script called "install-recovery.sh").

5) If "Auto-Reboot is ticked, then the phone will automatically reboot once flashing has been completed.

Root:

SM-G388f:

KitKat:

1) Enable USB Debugging

2) Download the Newest TWRP from the above TWRP Link (the one marked with KitKat), making sure you download the file with the .img.tar extension.

3) Download the Newest SuperSu and place on the internal phone memory.

4) Flash the downloaded TWRP file, make sure "Auto-Reboot" is unticked (Refer to "Using ODIN" if needed). Click Start

5) Once flashed, reboot into recovery (Power + Volume Up + Home) straight away and Flash SuperSu.zip via the Flash Zip section.

Congrats you got root on KitKat

Lollipop:

Installation:

1) Make sure you have the prerequisites installed, and "xcover3-lollipop-root.zip"

unzipped. Then type

adb devices

to make sure adb recognises the phone and that its authorized.

2) Type (or copy) exaclty as below. *Please be paitent, as the first command

takes about 20 seconds to complete.

adb push su.img /data/local/tmp
adb install Superuser.apk

3) Once thats completed, turn off the device and then boot into download

mode (Volume Down + Home + Power).

4) Open the ODIN program, click "AP" then navigate to the "boot.tar.md5"

file that is in the "xcover3-lollipop-root: folder, then click open/okay.

Click start to flash.

5) The phone should auto-reboot. Once its fully booted, reboot once more

(perferabbly twice), this is to allow the script placed in the ramdisk to

move the su.img to /data.

6) Profit? Yay you've now got root. You can go and test it out by downloading

terminal emulator and typing "su", you then should be prompted to grant root

permissions to the app. Once granted, the "$" symbol will change to "#" to

signify root.

Thanks to:

[MENTION=7770482]akuhak[/MENTION] Thanks for build the custom tools necessary to modify the boot.img

[MENTION=5716433]proguru[/MENTION] Thanks for compiling a custom kernel for me, (for testing purposes) allowing me to test various things.

[MENTION=7794695]kniederberger[/MENTION] Thanks for providing the boot.img and su.img from the Value edition of the phone, allowing me to base my work around what was done on the value editon.

SM-G389f:

Marshmallow:

*Verified by [MENTION=884555]Heledir[/MENTION] and [MENTION=7794695]kniederberger[/MENTION]

A user has uploaded a YouTube video HERE in case anyone wants a video tutorial.

1) Enable "OEM UNLOCK" and "USB Debugging" in developer settings (This can be found by tapping build number 7 times, then developer mode will be activated) then procedded to Flash TWRP.

2) Flash the Value Edition version of TWRP, Link at the top of this thread, making sure it has ".img.tar" extension (Refer to "Using ODIN" if needed).

3) Flash SuperSu.zip inside of TWRP via the Flash Zip section

Update to Newer Firmware while rooted:

Note: You'll lose root (re-root via relevant method) and modifications done to /system, but you're Apps and Data (/data and internal storage) will remain untouched.

0)Although you won't lose any apps/data, it's always recommended to make a backup. Perferrable a Nandroid backup or the backup of apps and data via the means of Titanium Backup and such.

1) Download Newest firmware matching the phones region and carrier (basically if the phone is from one country, dont download the firmware intended for a different country. Links at top of OP/Thread.

2) Out phone into download more, launch Odin and Flash the firmware package Downloaded. (Refer to the Using Odin section as needed.)

3) Give it some time for the inital reboot, and allow it to get setup and booted.

Optional) Re-root via relevant methods.

Un-root Samsung XCover 3 Devices:

1) Click un-root from SuperSu APP

*5.1.1 and 6.0.1: Flash Stock boot.img (Found in stock firmware) (Will post a Link for stock boot.tar.md5 soon, or read on in the next post to figure out how to create your own boot.tar.md5 file)

TWRP:

KitKat: Working

Lollipop: Not Working (I'm looking into it) The is a hacked together version of TWRP HERE, in case people want to flash files. I wouldn't recommend it for anything else other then flashing, as i would perfer to build a proper working TWRP for lollipop.

Note: You'll have to hold, Volume Up + Home + Power buttons straightafter flashing from Odin, keep hold of the key combo untill you see the TWRP logo (2 reboots).

Marshmallow: Working

Flash Stock Firmware:

1) Download the stock firmware from above links, making sure the version and region matches your phone

2) As with the other steps, boot into download mode and connect it to Odin, click the AP button and click on the stock firmware. Then Click Start. (Refer to "Using ODIN" if needed)

3) Give it some time after flashing (Max 10mins) to boot and setup for the first time, if it doesn't after a long time, re-flash the stock firmware again.

FAQ:

- Where is a ROM/Custom Kernel/ TWRP(for lollipop) for our devices? I currently can't provide/make these due to internet limitations, and no access to a 64 bit computer(of course these may change for me in the future). Feel free to build and provide these, and they can get linked to one of the opening pots for easy access.

- What is this thread? It aims to bring all the current work being done on this device into a single thread, so its easily accessible for everyone

- XYZ App doesn't detect root (systemless root)? These apps haven't been updated to work with systemless root, and therefor require SuperSu compatibility mode to be enabled to work with systemless root. Refer to the Troubleshooting section below to fix.

- My Device is sluggish/slow at each boot, how can I fix this? I have noticed that certain apps when used, E.g. CF.Lumen, Livebootetc. require patching the sepolicy at each boot, and this is a memory intensive task. This may not be the only cause for sluggishness, other things can include alot of apps checking for notifcations by pinging their servers, or alot of apps auto starting at boot. There are two different ways about fixing this, one, uninstall offending apps (or disbale their automatic launch), or two, live with it, just wait a couple of minutes after booting before unlocking and using the phone, becuse by then their tasks should be done and android should have cleared up some RAM.

- I keeping getting notifications that my device is unsafe/had unautorized actions have taken place, how to stop this notification/warning? Refer to the Troubleshooting section below to fix.

Troubleshooting:

- XYZ App doesn't detect root (systemless root):

For Value Edition (Android 6.0.1):

1) Type "(or paste)

echo "BINDSYSTEMXBIN=TRUE" >> /data/.supersu[/CODE
2) Reflash the latest SuperSu.zip via TWRP][/INDENT]
[INDENT][B]For the Normal/Original xCover 3[/B] [I](Android 5.1.1., using my root method)[/I]:
Note: This fix is for the root developed by me, once/if we get a working TWRP for lollipop, then the above instructions should suffice. These 2 scripts creates and mounts a folder to xbin, allowing for apps that check for system root to work properly with systemless. Also daemonsu should mount the folder at boot automatically, but I was having problems with it, so that's why I have a second script to automatically mount the needed folder. Now to the instructions :)
1) Download the "systemless-compatability-fix-lollipop.tar.gz" onto the device and unzip it
2) Using a file explorer that works with systemless root, E.g. Solid Explorer, Copy and paste the 2 files inside the "/su/su.d" directory, making sure it's permissions is "0700" or "700", if the permissions are incorrect you can use the file explorer or terminal emulator and "chmod 0700" on both of the files, Refer to both of the files below for reference.

[IMG="chmod 0700"]http://xdaforums.com/attachment.php?attachmentid=3948945&d=1480154633[/IMG]

[IMG="chmod 0700 - part 2"]http://xdaforums.com/attachment.php?attachmentid=3948946&d=1480154633[/IMG][/INDENT]
Now all root apps should work (I'm loooking at you Secure Settings and ES File Explorer Pro)
- I keeping getting notifications that my device is unsafe/had unauthorized actions have taken place, how to stop this notification/warning:
I haven't formmaly looked into the cause of this problem as of yet, but some users reported that disabling/removing "SecurityLogAgent" and/or "Smart Manager" Fixs the problem. This can be achieved using Titanium Backup (or similar apps).

[I][B]Planned Work:[/B][/I]
[HIDE]
- Do the next post write up on how to modify the boot.img (or other files) of the devices.
- Get working TWRP on Lollipop
- Get Magisk v9 working
- Look it what is need to flash MM from the xCover 3 Value Edition devices onto the Normal xCover 3 Most users have. (Might be difficult, as they have different hardware)
- Get some ROM creators onto this device [/HIDE]

Anything else?