Related
The problem: After installing AOSP 1.6, I noticed protected apps weren't showing in Market, including some I had bought in 1.5. I restored my 1.5 backup and found the same thing. Instructions on this thread (http://forum.xda-developers.com/showthread.php?t=605028) were able to get my apps back in 1.5, but upon reflashing 1.6 I was back to square one.
Update:
----------
I started fresh to test things out, trying both AOSP 1.6 and gbhil's modded AOSP 1.6. I wiped, then flashed and booted, then flashed gbits and booted, then setup my google creds, then rebooted and flashed superuser, then installed busybox then rebooted.
That's my baseline. From that point, I observed:
- Market showed a limited amount of apps. One time My Downloads had all my apps, but upon trying to install one I got a "Download unsuccessful" error. I'm assuming when the download was initiated my fingerprint was sent out, and then Market filtered My Downloads to reflect that unofficial fingerprint. Meaning, most apps were missing again.
- I updated build.prop with the fingerprint from stock 1.5 (see below for instructions). I downloaded a random app (Twidroid Free) so it'd send out my "new" fingerprint, and thus remove the filter limiting my apps. Soon after all apps were appearing again. Be patient here, sometimes it doesn't update instantly. One gave a download error, but trying to install it again solved it.
- Just to test, I edited my build.prop back to whatever was default with the 1.6 rom I was using, then rebooted. My Downloads still showed everything, but as soon as I installed any random app, that unofficial fingerprint was sent out and my apps were limited again.
I don't know enough about Market to know the repercussions of what I did - does it think I have 1.5, so will it be showing me only 1.5 compatible apps? Either way, I'd rather have access to all 1.5 apps than only some 1.6 apps. And aren't most (not all, but most) 1.5 apps backwards compatible with 1.6 anyway? So the only real downside is 1.6+ apps will be hidden. If someone has the fingerprint for an "official" 1.6 device, they could change their fingerprint to that and conceivably have the best of both worlds (protected apps AND 1.6+ apps).
How To Change Your Build Fingerprint:
--------------------------------------------
1. Connect your phone.
2. Pull /system/build.prop | For Mac users: ./adb pull /system/build.prop ./
3. Using your favorite editor, find the line that starts with ro.build.fingerprint and put a # in front of it.
4. On a new line, put: ro.build.fingerprint=sprint/htc_heroc/heroc/heroc:1.5/CUPCAKE/85027:user/release-keys
5. Save the file.
6. Remount the filesystem as read/write | For Mac users: ./adb remount
7. Log into the phone | For Mac users: ./adb shell
8. Exit the shell by typing: exit
9. Now push the file back. | For Mac users: ./adb push ./build.prop /system/build.prop
10. Reboot | For Mac users: ./adb reboot
11. Go to Market, and install something to send out the new fingerprint.
12. Within a few minutes you should see all apps. If not, try rebooting. If still not, try clearing Market's cache (Settings->Applications->Market->Clear Cache)
--------------------------------------------
Hope this helps someone.
-TM
This affects the MoDaCo rom I installed, and the AOSP 1.6 rom I was playing around with. Things like WeatherBug Elite, and tons of other stuff are hidden from the Market. In the case of MoDaCo, which I installed overtop my existing 1.5 stock (after backing up of course) the apps ran fine since they were grandfathered in from the stock rom, but still weren't listed in the marketplace. I'd really appreciate any help, as these speedy roms are useless if I can't run any of my apps on them.
search is king
this should help you
Link here
This reply isn't valid anymore and may be deleted.
Can you please post the code for this. I'm having a hard time getting this to work. Thanks
dathryl said:
Can you please post the code for this. I'm having a hard time getting this to work. Thanks
Click to expand...
Click to collapse
Code for what? What problems are you having?
Newbie question, how do you "pull" the file. I'm on shell but don't know what to input in order to edit the file.
PRGUY85 said:
Newbie question, how do you "pull" the file. I'm on shell but don't know what to input in order to edit the file.
Click to expand...
Click to collapse
You need to have ADB installed (which you do if you've rooted your phone, as ADB is required to do so). So you'd need to go into a command prompt (Windows) or Terminal (Mac), navigate to your adb/tools directory (that has adb.exe in it) and type "adb pull fileonyourphone fileonyourcomputer". Obviously replace fileonyourcomputer with the actual paths and filenames of what you're pushing/pulling. When you push the file back to the Hero, you swap the syntax, so it'd be "adb push fileonyourcomputer fileonyourphone".
OK, sorry again for noobness...
He says adb remount as read write, how do I do that?
He says log in to the phone...how do I do that on the shell?
So just to be sure, this fix will allow me to download the apps that I just can't find on the market that my friends with stock Heros can, right?
Someone recommended a new twitter client (twicca) but I couldn't open it on the market and I'm assuming it's because I'm running AOSP 1.6.
Thanks.
I just did this, and it seemed to work, but when Weatherbug Elite was downloading the phone went into the "Android" boot screen and just looped it over and over. After a battery pull it still won't boot up, and it keeps getting stuck at the boot screen. Is there anyway to fix this?
sure is nice to have sufbs back.
thanks for this.
Thanks, worked like a charm.
Here's my problem,
I had the Droid 2 with stock ROM rooted and all was well. My phone installed the Gingerbread ROM (4.5.601) when Verizon pushed it out a few days ago. Thankfully, this did not totally jack up my phone. However, I no longer have root access.
I have tried three different 1 click root methods for the Gingerbread ROM but none of them worked. I tried un-rooting and re-rooting with one clicks and that's not working. I tried manually removing the Superuser app and rooting, no joy.
The one clicks are connecting with the phone but the phone does not seem to want to allow access to change files.
Before anyone asks, YES I have the drivers installed and the connection with the PC is good. I have attempted to run the 1 click roots in "charge only" AND "PC Mode". Debugging is on and I am set to allow non-market applications.
Suggestions?
Thanks,
Tracker
Update: in trying to manually remove old superuser file with adb shell, I just can't seem to get the # prompt to execute the commands even after running Pete Souza's exploits.
suggestions?
Hope somebody comes up with an answer - same thing happened to me.
did you use the d3 root method? thats the only one that works 100% on gingerbread.
Yes. I used the "Pete's Motorola Root Tools.exe" program on Win7:
psouza4.com/droid3/#root
I also followed the "Droid X Notes" section at the bottom even though I have the D2 and I'm not able to get the "adb shell" ending with #.
SOS!!
Thank you for such a clear, concise post! I am in the same boat with no luck. I used the one click root for D3 which says it will work for a number of Android phones, including the D2 Global, but is NOT working with my D2. I have run the application two times and both times it went through the entire process, rebooted my phone three times and said success but...no success... I am sooo bummed as the only way I get internet at home is via Wireless Tether which I can no longer use because I do not have Root access!
Desperate in Cool (the name of the town I live in), I need help!!
Thanks in advance,
Jeni
Yeah, still no joy here. I've retried everything that I mentioned in the OP and still can't get the # so I can execute an un-root and/or re-root as described on Pete's website.
I've tried it on both a Win XP and a Win 7 machine.
Anyone have any suggestions? It appears the D2 Gingerbread firmware doesn't want to allow permissions to modify certain portions that were allowed before.
Success
I didn't so much fix the problem as hit it with a bat until it shattered, then rebuilt it.
My fix was to SFB the phone back to Froyo with factory defaults, activate it with Verizon (at this point I have no software added or accounts set up on it so obviously no root), apply the OTA update to GB, perform the 1-click Root which worked this time, then setup my google accounts and install Titanium Backup which I had previously used, and restored all my data from it.
At this point I'm getting some force-close errors which I'm sure are related to the Titanium restore but I was able to ADB Shell in and SU so I know I have rooted it properly and at the very least I will do another clean wipe and restore individual applications one at a time so I know which aren't working right and go from there.
Good luck everyone!
My fix was to SFB the phone back to Froyo with factory defaults, activate it with Verizon (at this point I have no software added or accounts set up on it so obviously no root), apply the OTA update to GB, perform the 1-click Root which worked this time, then setup my google accounts and install Titanium Backup which I had previously used, and restored all my data from it.
Click to expand...
Click to collapse
I kinda figured that this would work. I'm trying to avoid a full nuke of the phone, but so far it appears that this is the only work around.
Anyone else got a plan?
Only option I was going to provide was SBF to 2.3.2 with RSDlite and re-flash the OTA, then run the Droid3 exploit.
I have a D2G and I had the exact same problem. I did an OTA upgrade without un-rooting (I was earlier rooted using z4root). I had a long discussion with Pete Souza, the guy who created 1-Click root. And he agreed to help me out. He did a remote to my computer and rooted my D2G. I am going to try to reproduce all the steps here.
Situation: Was rooted using z4root. Had Superuser and su binary both on my phone but root was not recognized by titanium Backup, SetCPU, etc.
Resolution:
Run Psouza's 1-cick root http://www.psouza4.com/droid3 (ensure u have motorola drivers)
First try the Root, and if that does not work only then continue with the following steps. I got an error after step 3 which said the phone cannot be rooted (or something like that). The first two steps were a success.
Now that the root is not working, run the Temp ADB Root from the same app. In my case even that failed - but Pete said that ignore the failure message.
Now, I need to delete the su and busybox which are leftovers from the earlier root.
Open a command prompt in the support_files folder where adb is located.
Get into the shell by typing: "adb shell"
type "/system/xbin/su"
This will pop-up a prompt on your phone to allow Superuser access - just click Okay.
The $ sign will change to #
Now type "busybox mount -o remount,rw /dev/block/mtdblock3 /system"
now type "cd /system/bin" This is where your su and busybox are.
Type "rm su"
Type "rm busybox"
After this just exit out of everything and run the 1-click root again. It should work now.
======================
All credits to psouza www.psouza4.com
======================
drumster said:
I have a D2G and I had the exact same problem. I did an OTA upgrade without un-rooting (I was earlier rooted using z4root). I had a long discussion with Pete Souza, the guy who created 1-Click root. And he agreed to help me out. He did a remote to my computer and rooted my D2G. I am going to try to reproduce all the steps here.
Situation: Was rooted using z4root. Had Superuser and su binary both on my phone but root was not recognized by titanium Backup, SetCPU, etc.
Resolution:
Run Psouza's 1-cick root http://www.psouza4.com/droid3 (ensure u have motorola drivers)
First try the Root, and if that does not work only then continue with the following steps. I got an error after step 3 which said the phone cannot be rooted (or something like that). The first two steps were a success.
Now that the root is not working, run the Temp ADB Root from the same app. In my case even that failed - but Pete said that ignore the failure message.
Now, I need to delete the su and busybox which are leftovers from the earlier root.
Open a command prompt in the support_files folder where adb is located.
Get into the shell by typing: "adb shell"
type "/system/xbin/su"
This will pop-up a prompt on your phone to allow Superuser access - just click Okay.
The $ sign will change to #
Now type "busybox mount -o remount,rw /dev/block/mtdblock3 /system"
now type "cd /system/bin" This is where your su and busybox are.
Type "rm su"
Type "rm busybox"
After this just exit out of everything and run the 1-click root again. It should work now.
======================
All credits to psouza www.psouza4.com
======================
Click to expand...
Click to collapse
IMO this instruction should be stickied.
This worked perfectly on my wife's D2G. Rooted Gingerbread = a good start to the day!
Awesome! Thanks!
Just wanted to say I think i love you...this worked for me after two tries on my Droid 2.
First time I was able to remove su and busybox...then when I applied the one click root again, it said there were a bunch of errors but still succeeded. After the reboot I didn't get superuser access yet so I went through deleting su and busybox again (but busybox wasn't found)
The second time i decided to restart my phone before running the script again and when attempting to verify if su was still installed by going into adb shell...it said my phone was already rooted.
Thanks!!
Awesome!
Thanks! This worked for me as well! (after additional reboot)
Good Info but one problem for me
Since I did the OTA Gingerbread, I cannot get into debugging mode. I have uninstalled the Moto drivers & reinstalled using my administrator profile on Windows 7. I have also sbf my phone. Wipe cache. Factory reset. Activate service (NOT download or sync w/ google). OTA Gingerbread. This is on a regualr D2. Anyone have any ideas on how I can get into debugging mode. Otherwise I can't do anything.
Thank you!
I am so glad I found this post and the directions posted by drumster. I had previously used z4root and had not unrooted before allowing the Gingerbread upgrade. Pete's application fixed my Droid 2 on the first attempt; no other steps were needed.
Thanks again,
Andrew
awesome
psouzas 1 click worked for me. Droid 2. previously had rooted with deroot method until it updated by itself to gingerbread which broke root.
enabled usb debugging
in pc mode, clicked on souza's link and followed instructions
i have win 7 64 bit computer
It works
I just got it to work. I was on rooted froyo. Sbf'd back to stock froyo. Downloaded and installed OTA G bread. Then I had to run the D3 one click root method twice but the 2nd time it worked fine.
First I love AOKP, and it has defined android for me for a while. I need some help getting multi-user support on the aokp nightly. Apologies, if this is against any rules.
I am running the latest 10/15 nightly, although a majority of my attempts were done on the 10/10 nightly.
My setup post freset:
twrp to install nightly, gapps 08/13, photosphere, lte zip.
boot rom, no google sign in
adb push titanium backup, restore android device id, reboot, restore all apps with data
restore nova settings and lte apn settings
Click to expand...
Click to collapse
So this is where I'm starting from.
ATTEMPT 1
I use terminal for the following
adb shell
su
pm get-max-users (should show 1)
setprop fw.max_users 8
pm create-user Guest
Click to expand...
Click to collapse
This brings up the users tab in settings where I can see the Guest user I just created. I go to set it up and it soft reboots to the welcome to android setup screen. Great. but every gapps start crashing. basically fail fail fail. no keyboard means I cant set up the profile. Even then there's no way to get to terminal to softboot back to my original. so from here I nandroid restore in twrp.
ATTEMPT 2
My next option was to start from a clean install and download/install the xposed framework. That allowed me to use the Modaco Toolkit module that list the following as a feature.
Google Nexus (all): Enable multi-user support if unsupported on stock (e.g. Nexus 4).
Click to expand...
Click to collapse
This actually worked well. I saw the users option in settings, I was able to create different users, and the phone soft rebooted to set up the new user. Great, but still every gapps stoppes working as soon as the welcome screen pops up. Although with this option I can long press the power button and go back to my original user.
So can anyone provide some insight as to how to install the gapps in the emulated /1 folder for a second user?
Since multiuser on phone is a Microsoft Nokia patent, Google can't enable it by default.
I don't know how to edit the buildprop to do it, but I use this app to enable it: https://play.google.com/store/apps/details?id=org.sferadev.multipleuser
The problem is your DPI have to be below a certain number for the multiuser switching to show up on your lockscreen, 192 or something. But then everything on the screen looks very small so its not worth it anymore unless you have a 6" device maybe.
I know that Paranoid Android have multiuser feature so it's the only solution I know of. I'm just not willing to let go of AOKP either.
Intro
I decided to put together this all-in-one guild compiling all the research and testing I've done. I've seen a lot of the same questions and misunderstandings come up over and over in the various threads, most of which I had myself. I've spent lots of time, since I got my new Google Pixel 2 XL, searching XDA, following all the guides the fine folks here put together, flashing, restoring, testing, etc. I've been using Android since my Google Nexus One, so I've been messing around with all this for quite some time now. The Android community is amazing and I've learned a lot over the years, so it's my turn to hopefully help someone out.
I'll also share some of the caveats, issues and fixes I had to do with this setup. This was all done with a Google Pixel 2 XL on Project Fi with an eSIM & physical SIM, so this guide was written and tested with that, however it should work the same in theory with other carriers, but your results may vary.
NOTE: I am not a developer by any means. I've toyed with creating my own custom ROM, but I'm not a ROM or Kernel developer. I just got really good at using the stuff the other amazing smart people here developed and shared with the community.
NOTE 2: Following these steps WILL wipe your device, so make backups if needed!
Thanks
I would like to give thanks to the following folks for the guides, development and help; @topjohnwu, @nathanchance, @Dees_Troy, @luciusfox, @thedude420, @Quinny899, @airmaxx23, @matt1313, @sharkie405, @Tulsadiver, and @zachman1750. Please forgive me if I forgot to mention you directly as I've gone through many threads and guides at this point. I also thank the community for helping each other out and providing their experiences and testing as well.
Why Root?
I get the same question from everybody all the time, "why do you root your phone?" Well, many reasons, which I'll list a few below, but because I spent a lot of money on my phone and I feel I should have full access to it. If your phone is leased or company owned, I understand why you wouldn't, but if you own it outright, why not have full access to do what you want with it? I mean, how would you feel if you purchased a computer (I'll use Windows in this analogy) and it came with one user account that was only part of the "Users" group, no local Administrator or account part of the Administrators group and no way to grant your one user account Admin rights? I'd be upset as I wouldn't be able to do much with it including; remove bloatware, install my own applications, replace the stock AV/Malware software, upgrade my video driver or even start from scratch. I mean the first thing I do when I get a new computer is format the HDD lol. I know it might be a silly analogy, but I don't see how it's any different than having root access on my phone.
- Remove bloatware (system apps you don't want/need)
- Custom Kernels (though the stock kernel on this phone is amazing out to the box, custom gives us more access to manage wakelocks, color control, vibrations, among other kernel items) (EXKM and Kernel Adiutor are a couple great apps to tweak your custom kernel)
- Customer recovery (easy backup/recovery, easy flashing of Zips, etc...)
- Untethered system theming including; custom fonts, launcher tweaks, status/navbar tweaks, etc...)
- System wide ad blocking
- Full system backup/restore (Titanium Backup is amazing for full system backups and then upload to cloud storage of your choice)
- Terminal root access (every have horrible battery drain and can't figure out exactly why quick and easy? Drop to terminal, elevate using su, then run top and and see what app is hogging the CPU)
- Xposed modules for system customizations (I've used a lot over the years, but not on this phone yet. You will also FAIL SafetyNet if you use the Xposed Framework.)
- AUDIO MODS! I honestly don't know how I lived my life without apps like ViPER and Dolby on my phone
A/B Partitions
To hopefully help clear up some confusion here, I'll list some important points to take note of.
- The whole point of the dual partition setup is to make OTA updating easier, allowing for updating the OS in the background
- There are two system, two boot and two vendor partitions, but only one data partition
- Only one system and its corresponding boot partition are active at one time
- Whichever system/boot partition is active will use the one data partition
- Flashing a custom kernel, mod zip or Magisk will flash to the current active slot from recovery, however flashing the Google Image or a custom rom will flash to the inactive slot
- The recovery is part of the boot partition, meaning anytime you flash the stock or custom kernel, for example, you'll need to reflash your custom recovery again (unless you install a kernel zip created with AnyKernel2 by @osm0sis)
My Build
Sharing these details as if you are on a different image, kernel, carrier, etc... your results may vary.
Phone: Google Pixel XL 2 Black 128GB - purchased from Google Store / Hardware Version: rev_10
Carrier: Project Fi with eSIM & physical SIM
Android Version: Official 8.1.0 / Security Patch Level: February 5, 2018
Build Number: OPM1.171019.018
Kernel: 4.4.119-FlashKernel-Taimen-v2.20 (clang version 6.0.0)
Root: Magisk Manager 5.6.1(105) (patched dtbo NOT preserving "force encryption" or "AVB2.0/dm-verity") & Magisk 16.0(1600) / Modules: Busybox for Android NDK 1.28.1, Magisk Manager for Recovery Mode (mm) 2018.1.31, Single User Mod 1.4, ViPER4Android FX Materialized 1.5.1 (2.5.0.5)
Recovery: TWRP 3.2.1-0
APKs: SELinuxModeChanger v11.0, AdAway 3.2-60, Dolby, MinitBatteryResrouces
Convenient Play Store Apps: 3Minit Battery Settings, FiSwitch, Kernel Adiutor, Light Manager, Root Explorer, substratum (Swift Black), TiBu Pro (I do scheduled backups of my phone to my Google Drive) & Terminal Emulator (great to use Busybox commands like "traceroute" or "top" to find that app killing your battery!)
Android Platform Tools Install
1. Download the latest version for your computer OS (PC/Mac/Linux) from Google: https://developer.android.com/studio/releases/platform-tools.html
2. Unzip the downloaded file to your hard drive somewhere and:
- Windows: add to your PATH (google "add adb to path")
- Mac/Linux: From terminal of your choice "sudo install adb /usr/local/bin && sudo install fastboot /usr/local/bin" (run from within the extracted directory and enter your password when prompted)
- Windows 10 & macOS High Sierra detect the phone automatically, but older versions you may need Android Device Drivers. Just Google what you might need and how to do it if your phone is not detected automatically.
Unlocking
1. Turn your phone off.
2. Press and hold Volume Down, then press and hold Power.
3. Plug your phone into your computer.
4. From command prompt/terminal on your computer (run Command Prompt as Admin in Windows throughout this guide):
- fastboot flashing unlock
- fastboot flashing unlock_critical
NOTE: I've read a lot of back and forth on if we should unlock_critial or not. This is just my opinion, but if you're here to do all this stuff to your phone, want complete access to do whatever you want to it, just do it. It's better to be ready now for the future because every time you unlock or relock, it will factory reset your phone. I've been unlocked both regular and critical since the first boot when I took my phone out of the box. I'll also mention, I’m not entirely sure what steps will work or not work in this guide if you don't since I've never not been unlocked with critical.
5. Follow the instructions on the phone screen to do the factory reset.
Clean Start
1. Download the "taimen" for Pixel 2 XL factory image [8.1.0 (OPM1.171019.018, Feb 2018)]: https://developers.google.com/android/images
2. Turn your phone off.
3. Press and hold Volume Down, then press and hold Power.
4. Plug your phone into your computer.
5. Unzip the downloaded file to your hard drive somewhere and from the directory you extracted the files (CMD/Terminal):
- Windows: flash-all.bat
- Mac/Linux: ./flash-all.sh
- Unplug your phone from your computer
Initial Config/Prep
1. Go through the initial phone setup steps.
- Make sure you setup your Google account so you have access to the Play Store and you can activate your eSIM if that's what you're using.
NOTE: When setting up with only an eSIM, I ran into some bugs and caveats I had to figure out on my own as Google support couldn't figure it out let alone understand what I was trying to explain to them. I ordered a physical SIM and now have both an eSIM and a physical SIM installed and can switch between them.
Verizon SIM: As @jrbxx7 was kind enough to share below; if running a Verizon SIM, wait till after setup is complete before inserting it. That way the vzw apps don't get installed on google setup.
eSIM Caveat: If you have 2 Step Authentication turned on for your Google account and your phone is your only device with the Google Authenticator App or Google Prompt, you will have to use one of your backup codes to log back into your account as your phone will not be activated until it's completed in the Project Fi application.
eSIM Bug: After you go through the initial phone setup, let Play Store finish its updates and don't reboot yet. Open Play Store and search for "Project Fi", then click "Enable", but DON'T update it. Just open Project Fi, complete the activation then reboot your phone. You can update the Project Fi app after the activation is successful. I've tested this through three factory restores and the result is the same every time.
Physical SIM: No issues since your phone will just be activated after boot so you can receive SMS codes.
2. Enable Developer Mode: tap "Build number" under "About phone" 7 times.
3. Under "Developer options", enable "USB debugging".
4. Download necessary files:
- Magisk 16.0(1600): https://forum.xda-developers.com/apps/magisk/official-magisk-v7-universal-systemless-t3473445
- SELinuxModeChanger 11.0: https://f-droid.org/en/packages/com.mrbimc.selinux/
- AdAway 3.2-60: https://f-droid.org/en/packages/org.adaway/
- Dolby: https://forum.xda-developers.com/pixel-2-xl/how-to/viper-dd-atom-t3724096
- Kernel. I use @nathanchance Flash Kernel: https://forum.xda-developers.com/pixel-2-xl/development/taimen-flash-kernel-1-00-t3702057
NOTE: You can use whatever kernel you want, but I've only used/tested with Flash. Flash Kernel also has the proper drives to resolve the TWRP touch issues. I've read other custom kernels do as well.
- TWRP 3.2.1-0 (image & installer): https://forum.xda-developers.com/pixel-2-xl/development/twrp-alpha-pixel-2-xl-t3698148
5. Plug your phone into your computer.
- If prompted on your phone, save and allow USB Authorization for your computer.
6. Push downloaded files to your phone (CMD/Terminal):
- adb push <path_to_Magisk_file>.zip /sdcard/Download
- adb push <path_to_SELinuxModeChanger_file>.apk /sdcard/Download
- adb push <path_to_AdAway_file>.apk /sdcard/Download
- adb push <path_to_Dolby_file>.zip /sdcard/Download
- adb push <path_to_Kernel_zip_file>.zip /sdcard/Download
- adb push <path_to_TWRP_image_file>.img /sdcard/Download
- adb push <path_to_TWRP_installer_file>.zip /sdcard/Download
Install Kernel & TWRP
NOTE: As of the Google February security image release, TWRP will no longer decrypt. You have three options to flash in TWRP until it's fixed; disable security before booting to TWRP, use USB storage via your OTG adapter, or put the files you need in the /data partition.
1. adb reboot bootloader (CMD/Terminal while your phone is still plugged into your computer)
2. Flash TWRP:
- fastboot boot <path_to_TWRP_image_file>.img
- Once in TWRP, install the TWRP_installer.zip file
- Reboot into TWRP
- Install Kernel.zip file
- Install the Magisk_16.0(1600).zip file
- Reboot to System.
3. Configure Magisk:
- Open Magisk Manager
- (OPTIONAL) Patch dtbo by unchecking both "force encryption" and "AVB2.0/dm-verity", tap "Install", tap "Install", tap "Direct Install (Recommended), then reboot
NOTE: By patching dtbo, you will receive a message on every boot that says something along the lines of "There's an internal problem with your device". This is perfectly normal when patching the dtbo and can be ignored as nothing is broken. Now, to be honest, I patch dtbo as I can't get certain things to work properly without, like Dolby, and the message doesn't bother me as it's only on boot up. I know patching dtbo is necessary for some things. For example, I don't think you can do manual build.prop edits without editing dtbo, if I'm not mistaken. I have had a few others on other threads say they were able to get Dolby to work without patching dtbo and just using SELinux in "permissive" mode, but I couldn't. Up to you, hence the "optional" part. If you decide to patch dtbo and want to go back, just flash the stock dtbo image file in fastboot or TWRP.
- Open Magisk Manager
- Goto Settings and tap "Hide Magisk Manager"
- Reopen Magisk after it's done
- Goto Settings and make sure "Magisk Hide" and "Systemless hosts" are both enabled
- Gogo Magisk Hide and check the applications you need to hide from Root (banking apps, authenticators, etc...)
4. If Play Store is not showing as "Certified" under Play Store Settings, clear Data and Cache on the Play Store under Phone Settings. Your Play Store will now be "Certified" under the Play Store Settings.
Install/Configure SELinuxModeChanger and AdAway
NOTE: It's my understanding that SELinux does not need to be set to "permissive" for ViPER and Dolby to work, but I can't get them to work otherwise. My Dolby will FC without setting SELinux to "permissive", which is why I'm adding it to my guide in case someone else is having the same issue. You can use the Magisk Module script if you want, but I like the convenience of the App to turn on and off easily.
1. Open "Downloads" from the App Launcher on your phone.
2. Install both SELinuxModeChanger.apk and AdAway.apk.
3. Open SELinuxModeChanger:
- Tap "Permissive"
- Tap "Automatically start on boot"
4. Open AdAway:
- Open Preferences and make sure "Enable systemless mode" is enabled". It's normal to be Greyed out. This is verification from the Magisk Settings you set above.
- Tap "Download files and apply ad blocking"
5. Reboot phone.
Install & Configure Magisk Modules / Dolby
1. Open Magisk Manager and go to Downloads:
- Download "Busybox for Android NDK" (some root apps need this, but it's also nice to have these utilities)
- Download "Single User Mod" (needed for latest TWRP install to my understanding, but it worked for me without. I like this anyway because I don't share my phone)
- Download "ViPER4Android FX" (make sure to get the v1.5.1(2.5.0.5) version) / during install you will be asked what version and theme, chose the 2.5.0.5 driver version and the Materialized version (needed for Dolby).
- Reboot Phone
2. Open ViPER 4 Android FX application:
- Under Settings tap "Turn on developer mode" then tap "Disable SELinux"
3. Reboot Phone.
- After reboot, open ViPER 4 Android FX application and enable/configure the effects you want.
NOTE: Be patient after a phone reboot. It sometimes takes a minute for the Magisk modules to load.
4. Reboot to TWRP.
- Install Dolby.zip file
- Reboot into System
5. Open Dolby, and if it force closes, make sure your SELinux is "permissive" first and if you still have force closes, patch dtbo following instructions above.
Themes & Mods - Screenshots attached below!
I use substratum and Swift Black from the Play Store for my system wide theme. I use Light Manager from the Play Store for custom status lights for applications, etc... You can also get more customization of what icons to show or not show on your status bar by pulling down the notifications at the top of the phone and holding down the Settings gear icon until you feel a vibrate. You'll now have "System UI Tuner" under Settings->System. I'm also using the following Mods:
- SearchLess Launcher: https://forum.xda-developers.com/pixel-2-xl/themes/mod-pixel-2-xl-launcher-mods-8-1-0-dp1-t3701939
- Rosemary Font: https://forum.xda-developers.com/pixel-2-xl/themes/font-flashable-ubuntu-font-zip-pixel-2-t3710892
- Various Mods Aroma w/ 3Minit Battery: https://forum.xda-developers.com/pixel-2-xl/themes/various-mods-8-1-december-update-t3721741
- Substatum /w Swift Black (I dont theme System UI or System UI Navigation as part of my setup with the Various Mods Aroma)
- ViPER w/ Audiophile X profile & Dolby using Music profile (Volume Leveler / Surround Virtualizer / Intelligent EQ: Open)
Updating
I'm going to keep these steps kind of generic and provide the order in which things have to be done (order is important), however for the details just follow the steps for each part above. You shouldn’t have to do the setup for Magisk Modules again unless:
- You ran into issues and needed to do a clean start with Magisk using the Magisk Uninstaller
- You are doing a Google Image update
Magisk - Push the updated Magisk Zip to your /sdcard/Download folder, boot into TWRP, flash new Magisk Zip, reboot into System, go through Magisk setup steps again.
Kernel – Push the updated Kernel Zip file to your /sdcard/Download folder, make sure you have the Magisk Zip file in your /sdcard/Download folder as well. Reboot to TWRP, flash new Kernel, flash Magisk, boot System and setup Magisk again.
TWRP – Push the updated TWRP Zip to your /sdcard/Download folder, reboot to TWRP, flash new TWRP Zip, boot into TWRP to test, boot System.
Google -
1. Disable any screen security you have.
2. Disable and uninstall Substratum themes, if you have any.
3. Full backup of some sort recommended!
4. Boot to Bootloader and do a flash-all (without -w) of 8.1 factory image, boot to System and allow the update to finish.
5. Boot back to Bootloader, boot TWRP, install TWRP, reboot to TWRP, install Kernel Zip file, install Magisk Zip file, boot back to System.
6. Complete Magisk setup steps (Magisk hide, App hide, systemless, etc..), check SafetyNet.
7. Apply any mods and themes in Substratum.
Have fun!
Right on brother. My own journey is pretty much a mirror of your write up and I can't think of a single thing to add. Nice work. We have the same setup. Lol
CyberpodS2 said:
Right on brother. My own journey is pretty much a mirror of your write up and I can't think of a single thing to add. Nice work. We have the same setup. Lol
Click to expand...
Click to collapse
Thanks man! Yeah, this stuff has always been fun to me. I don't mind "breaking" my phone so I have to figure out how to fix it. lol I lost count how many times I wiped, flashed, etc to come up with my list.
I've also updated the guide to include "updating" stuff.
felosisman said:
Thanks man! Yeah, this stuff has always been fun to me. I don't mind "breaking" my phone so I have to figure out how to fix it. lol I lost count how many times I wiped, flashed, etc to come up with my list.
I've also updated the guide to include "updating" stuff.
Click to expand...
Click to collapse
Exactly, I got really quick at starting from scratch... Lol
Nice write up! One note if u feel like adding it, if running a verizon sim, wait till after setup is complete before inserting it. That way the vzw apps dont get installed on google setup.
jrbxx7 said:
Nice write up! One note if u feel like adding it, if running a verizon sim, wait till after setup is complete before inserting it. That way the vzw apps dont get installed on google setup.
Click to expand...
Click to collapse
Thanks for the addition, I"ll add it now! I don't have a VZW SIM so I would never have known lol.
This is the best guide on XDA now! I've been reading 10 different threads to do stuff, but someone who understands how it all works together can make it so much easier... Thanks again [emoji106]
Sent from my [device_name] using XDA-Developers Legacy app
slaydog said:
This is the best guide on XDA now! I've been reading 10 different threads to do stuff, but someone who understands how it all works together can make it so much easier... Thanks again [emoji106]
Sent from my [device_name] using XDA-Developers Legacy app
Click to expand...
Click to collapse
You're welcome! I'm happy to know this is helpful to folks.
Sticky?
Mods,
Is there any way to make this thread a sticky so it's easier for everybody to find?
Thanks!
jrbxx7 said:
Nice write up! One note if u feel like adding it, if running a verizon sim, wait till after setup is complete before inserting it. That way the vzw apps dont get installed on google setup.
Click to expand...
Click to collapse
What exactly is installed for Verizon apps? I didn't notice them on my install. Not saying they are not there, just didn't notice the changes.
felosisman said:
Mods,
Is there any way to make this thread a sticky so it's easier for everybody to find?
Thanks!
Click to expand...
Click to collapse
I think this thread is worth a sticky because it covers a lot of stuff that other guides don't, and covers them well. TWRP wasn't even a viable option when other guides were made, and it has made things much simpler...
Sent from my [device_name] using XDA-Developers Legacy app
Thank you for the guide. So I assume that if I were to brick the device I could use the factory images and fastboot to restore? Does anyone know what would happen if you tried to flash an older factory image street upgrading through OTA?
Sent from my Pixel 2 XL using Tapatalk
andrewjt19 said:
Thank you for the guide. So I assume that if I were to brick the device I could use the factory images and fastboot to restore? Does anyone know what would happen if you tried to flash an older factory image street upgrading through OTA?
Sent from my Pixel 2 XL using Tapatalk
Click to expand...
Click to collapse
You should always be able to restore using the factory images from Google. In all the years I've been doing this, I've never once actually bricked a device to where is wouldn't work anymore. Just basically boot up to the bootloader and run the flash-all script. You can get the full Google images and instructions here: https://developers.google.com/android/images
As for downgrading, I've not personally done it. I know folks have gone from the 8.1 DPs back to 8.0, but if I'm not mistaken Google is making it hard to downgrade for security reasons. Once 8.1 is officially released, we may not be able to go back to 8.0, for example. I'll let others chime in with their experiences.
EDIT: After reading your post again, if you mean you took the November OTA you will be fine. The latest factory image from Google is the same as the Nov OTA.
please delete
felosisman said:
You should always be able to restore using the factory images from Google. In all the years I've been doing this, I've never once actually bricked a device to where is wouldn't work anymore. Just basically boot up to the bootloader and run the flash-all script. You can get the full Google images and instructions here: https://developers.google.com/android/images
As for downgrading, I've not personally done it. I know folks have gone from the 8.1 DPs back to 8.0, but if I'm not mistaken Google is making it hard to downgrade for security reasons. Once 8.1 is officially released, we may not be able to go back to 8.0, for example. I'll let others chime in with their experiences.
EDIT: After reading your post again, if you mean you took the November OTA you will be fine. The latest factory image from Google is the same as the Nov OTA.
Click to expand...
Click to collapse
Thanks buddy for the reply. That's what I figured but my personal policy had always been to "find" the fix before I tamper with anything. Once I unlock the bootloader I'm assuming I cannot take OTA's in typical fashion right? Also is relocking the bootloader the same as unlocking (obviously using the opposite command)? Thanks so much.
Sent from my Pixel 2 XL using Tapatalk
andrewjt19 said:
Thanks buddy for the reply. That's what I figured but my personal policy had always been to "find" the fix before I tamper with anything. Once I unlock the bootloader I'm assuming I cannot take OTA's in typical fashion right? Also is relocking the bootloader the same as unlocking (obviously using the opposite command)? Thanks so much.
Sent from my Pixel 2 XL using Tapatalk
Click to expand...
Click to collapse
You're welcome! Absolutely, might as well be prepared just in case.
So, I've not tried it myself from "System Updates", but to my understanding you can still take OTA with the bootloader unlocked. I think the OTAs stop working when the System partition has been modified. But considering pretty much everything we do these days is Systemless, I think it'd be fine. I did manually install the November OTA from fastboot with my bootloader unlocked and it worked fine. To relock, yeah the command is pretty much just the opposite.
"fastboot flashing lock" would relock your device. Keep in mind though, every time you lock or relock it will wipe your device.
Sticky Request
I've done sone searching and can't figure it out, but does anybody know if there is an official way to request this to be a sticky?
felosisman said:
I've done sone searching and can't figure it out, but does anybody know if there is an official way to request this to be a sticky?
Click to expand...
Click to collapse
Your guide helped
Cheers ?
You using any other mods
Sent from my Google Pixel 2 XL using XDA Labs
Prattham said:
Your guide helped
Cheers
You using any other mods
Sent from my Google Pixel 2 XL using XDA Labs
Click to expand...
Click to collapse
Excellent, happy it was helpful!
No, I'm only using what I've got posted; ViPER, Single User and BusyBox.
I'll go ahead and ask this here since the Viper thread is so busy and I have seen a lot of answers and it's things that I've already tried over and over again. But, no matter which Viper version I download whether it be through magisk or a zip install via TWRP, I can never ever ever get the drivers to install. You got Viper in the title of your thread but I only seen one line of Viper in the op and that's to do with setting selinux to permissive, which I already have set to.
So does anybody have any out-of-the-box advice on what to do to get that Viper driver to install on a pixel 2 XL running 8.1 .0 DP2?
I'll spend all my 8 thanks for the day thanking somebody if they can help me figure this out.
Edit: I did just notice some more Viper instructions, my bad. I will try those out and report back
Edit 2: So I followed your instructions to the T, and the driver still won't install. Anyone got any ideas? It's not some sort of bug with the program is it where the driver has really been installed already but it's just saying that it's not?
Sent from my Pixel 2 XL using XDA Labs
Full Disclosure: I'm an Android development scrub, but I'm pretty familiar with flashing various ROMs, kernels, etc. I have long since moved on from the Nvidia Shield Tablet as a daily driver, but I had a custom 3D printed mount for the tablet and controller (this one: https://www.shapeways.com/product/WFSFW85NB/nvidia-shield-2015-controller-nvidia-shield-tabl )that is perfect for portable gaming. Enter Stadia, with all it's flaws, I wanted to put together a quick how-to to save some people time that want to do something similar. There are probably easier ways to do this, but this is what worked for me.
The end goal is to follow the XDA Stadia guide, but I ran into a few issues along the way: https://www.xda-developers.com/enable-google-stadia-any-android-smartphone/
If you already have Magisk and MagiskHide Props Config enabled and working, the guide above is all you need (except for maybe Step 8)
Step 1) Get a custom ROM flashed that still has support for Nvidia software. This is probably only important if you plan to use the Shield controller, though. I used this one: https://forum.xda-developers.com/sh...rom-hyperstock-mra58k-shield-k1-v1-5-t3522897
Step 2) Make sure that Magisk is working and install the MagiskHide Props Config module from within Magisk Manager
Step 3) Verify adb tablet connectivity 'adb devices' and enter a shell 'adb shell'
Step 4) At this point, you want to go through the MagiskHide Props Config text menu by entering 'props' at the shell. However, Props Config requires busybox, and it recommends busybox by osm0sis as a download in Magisk Manager, but I could never get it to detect busybox. Spent a lot of time on this, and the best I could tell from Google is that the ROM debloater was somehow interfering with Magisk busybox, but YMMV. If you don't get this error in your ROM, skip ahead to step 7.
Step 5) Since the Busybox by osm0sis Magisk Module didn't work, I installed one of the busybox implementations on the App Store: https://play.google.com/store/apps/details?id=stericson.busybox
Step 6) Once you open the app, it will ask you to install, but warns you that without the pro version, the busybox install won't survive a reboot. That was fine for me as I just wanted to see if MagiskHide Props Config would work, and it did. Now I could move on to running the script by 1) 'adb shell' and 2) 'props'
Step 7) For this step, the XDA guide works pretty well. The only change is that 'add/edit custom props' was option 4, not 5 as it indicates in the guide, but YMMV: https://www.xda-developers.com/enable-google-stadia-any-android-smartphone/
Step 8) Next major problem -- after you reboot, you will get a constant window notification that "Nvidia Gamecast Service has stopped" and this makes the tablet entirely unusable. The solution is to disable the app with adb and reboot. Once again, connect the shield to a laptop, enter the adb shell, and then disable this service with the following command in adb shell: "adb shell pm disable-user --user 0 com.nvidia.nvgamecast". After you disable, make sure to reboot your tablet.
And that's it. I imagine the Venn Diagram of people that have an Nvidia Shield Tablet + an Nvidia Shield Controler + Stadia is probably quite small, but this was enough for me to dust it off and get some new life out of it.
Wow thank you for this guide drowd !
Followed this guide to the T.
Except Step 8). Damn, getting past that "Gamecast has stopped" message took a lot of patience. My device wouldn't detect since "USB Debugging" wasn't turned on. Took a ton of super fast triple taps to enable developer options, then go in there, turn on usb debugging and then "Allow this device" to connect. Man... phew. Finally got my laptop to detect the device, and your command did the trick after.
In recovery mode, it complained that the "pm" command was not found. How did you get this working without turning on USB Debugging ?
Anyway, I thought I was part of that Venn Diagram that you mention, but, I just realized that I had cancelled my Stadia Pro, and I have no other games on there, so..... I have no idea if this worked, but just wanted to say, THANKS !
Oh, hmmm, now that I think about it, it's possible I forgot to include that as one of the steps, I think because I had already enabled USB debugging in an earlier step, but I should probably modify the guide to say this!
And you are right! Those triple taps required in Step 8 were awful, took quite a bit of patience on my end as well.
I think the easier method (and the route I took on my Shield TV) is to install the custom APK, and run stadia in desktop mode. This still feels very clunky to me compared to the Stadia app, but it works just fine. Hopefully they continue to open up support though.
Also, your Stadia Pro sub might not be current, but they are giving 2 months of Pro away for free, as well as opening up the free tier as well! So check that out, if you haven't already.