Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

GUIDE: Google Assistant on Non-Pixel [Nougat] Devices

Options
  • 12-10-2016 7:39pm
    #1
    Registered Users Posts: 3,212 ✭✭✭


    Hi all,

    They have posted a method of getting the Google Assistant to work on non-Pixel Nougat (7.0) devices over at XDA . Nobody can say for sure if it would work on any device running 7.0 whether it's a Nexus on Stock, or a Galaxy S on a custom ROM. Though someone did post saying they got it working on a Galaxy S II, I9100!

    I gave it a whirl earlier on my Nexus 6, rooted and running stock NBD90Z, though you don't need to root to get this working, as such. It works! Now I had some issues which I'll get into but it's overall a very easy process. The whole "baked into the Pixel phone" crap isn't the case as the foundation of getting this working is an up-to-date Google app (the beta is recommended at this time) - and no other third-party software should be required.

    The major issue I faced was that due to clearing of the Google app data as recommended, I had to retrain the voice model but for some reason it wouldn't persist and I couldn't get OK Google to work across the OS and when the phone is sleeping. I like having this convenience so I was bummed at first and went to XDA to see if anyone else was experiencing the same issues. They were but nothing suggested to solve it was working. I gave something a try, which I'll outline below, and it's now working properly.

    However, I was posting over on XDA after getting my issues sorted and it was hot and cold as to whether it helped anyone else. One guy with a Nexus 6 like mine posted that it did, so the fix could be phone-specific, or even phone-specific on whether the issue occurs in the first place. I don't know about the new Nexus 5X or 6P, for example. I'm going to write specific steps pertaining to the suggested method on XDA and the method that worked for me, so that it hopefully gives the maximum number of you who are interesting in trying this out a good shot at getting it working. It also might be worth using the Google Now or Pixel launcher to during this process. I don't know how it works on device-specific launchers like Samsung's, etc., but with Nova I believe there is an option for hotword detection, so just bear all this in mind as well.

    Common to all methods is the adding/replacing the following parameters and values into your build.prop file:
    ro.product.model=Pixel
    ro.opa.eligible_device=true
    


    Method 1 - The Full Stack:
    1. Make sure you have the latest beta of the Google app (6.6.14.21 at the time of writing) - a *stable* version of the app may work when it gets updated in version in the near future
    2. Activate and set up Google Now to your liking if not done already
    3. If rooted, use a root file explorer to edit the build.prop to apply the parameters and values mentioned above
    4. Clear the Google app cache and data and reboot

      OR if you're not rooted or don't wish to use a root file explorer, skip steps 3 and 4, and follow the additional steps below:

    5. Boot into recovery (you don't need to flash a recovery, simply using fastboot to boot in using an image will work) - TWRP recommended - and mount the system partition (make sure it's not read-only)
    6. On your computer in a Command Prompt or Terminal, go to where you have the adb executable/binary file
    7. Type in: adb pull /system/build.prop
    8. Using your favorite text editor (Notepad++ or Wordpad on Windows - regular Notepad is not recommended due to the fact that it doesn't recognize Unix newline characters and therefore the contents of the file are all bundled onto one line), apply the parameters and values mentioned above
    9. Now type in: adb push build.prop /system/build.prop to replace the one on your device with your edited version
    10. Reboot

    If Method 1 gives you any issues with your voice model not persisting, you can try this method. Assuming you're not skipping Method 1 and going straight for Method 2, you will have to revert back to Google Now and the easiest way to do this is to set the build.prop back to default (ie. removing/reverting the parameters and values above). You can retain the updated Google app as is, but it might be worth clearing the cache and data at this point (I haven't confirmed if this makes a difference but better safe than sorry).

    Method 2 - Crisp and Unclear:
    1. Make sure you have the latest beta of the Google app (6.6.14.21 at the time of writing) - a *stable* version of the app may work when it gets updated in version in the near future
    2. Activate and set up Google Now to your liking if not done already
    3. If rooted, use a root file explorer to edit the build.prop to apply the parameters and values mentioned above and reboot

      OR if you're not rooted or don't wish to use a root file explorer, skip step 3 and follow the additional steps below:

    4. Boot into recovery (you don't need to flash a recovery, simply using fastboot to boot in using an image will work) - TWRP recommended - and mount the system partition (make sure it's not read-only)
    5. On your computer in a Command Prompt or Terminal, go to where you have the adb executable/binary file
    6. Type in: adb pull /system/build.prop
    7. Using your favorite text editor (Notepad++ or Wordpad on Windows - regular Notepad is not recommended due to the fact that it doesn't recognize Unix newline characters and therefore the contents of the file are all bundled onto one line), apply the parameters and values mentioned above
    8. Now type in: adb push build.prop /system/build.prop to replace the one on your device with your edited version
    9. Reboot


    The major difference between the two methods is the clearing of the Google app data. The logic behind the second method, where the voice model settings don't persist, is that setting up the same in Google Now should carry forward to the Google Assistant when you don't clear those settings - which is what worked for me.

    You may come across other methods with flashable ZIPs to do the work for you but I'd recommend avoiding them, as you have less control, therefore it's worthwhile doing it manually. Some of you may be concerned with the OTA process and how that would revert your build.prop. There is a way of persisting one's build.prop by not editing the file directly but using a script to implement a tweak.prop file at runtime. Here is a link found on XDA to one (ignore GoogleAssistantVelvet.zip, which is basically the current beta Google app, and just update that officially on Google Play via the link in the methods above):

    https://www.androidfilehost.com/?w=files&flid=121914

    I haven't used it, so I can't post instructions, but I might try it if I find editing the build.prop after each update too frustrating, but considering I have to re-root every time I update my phone and copy over some system apps I depend on, it's one extra step that takes no time by comparison to the rest.

    Still, all things considered, it's good that we can get the Google Assistant working at all and it was quick of the dev community to find out how!


    But my phone is still on Marshmallow...
    Anyone who's still running Marshmallow for whatever reason, there is a way via an Xposed Framework module called N-ify to get the Google Assistant working but that obviously requires root and a bit more time and consideration. According to that link, however, it appears to only be for 64-bit (arm64) devices but I personally can't be sure at this time.


    Here is a very quick video of it working on my Nexus 6:



    I cannot guarantee that all non-Nexus owners will have the best of luck with this running custom ROMs but there are plenty of successes, problems, and solutions to go around over on that XDA thread. But do only try this at your own risk and always make sure you have a way to revert or restore your device before making any system modifications. Hope this helps and if you have any questions or feedback, just post a reply.


Comments

  • Registered Users Posts: 2,006 ✭✭✭nedd


    Have a nexus 6 with Nougat, have the bootloader unlocked but lost CWM when I joined the Beta for N.

    I think I will give this a shot later, just need to flash CWM again.
    Thanks


  • Registered Users Posts: 11,465 ✭✭✭✭Ush1


    How stupid is it that Google are making people jump through this needless hoop?


  • Registered Users Posts: 2,006 ✭✭✭nedd


    Ush1 wrote: »
    How stupid is it that Google are making people jump through this needless hoop?

    true, if the assistant is to remain a Pixel exclusive then they should have figured out some better way of keeping it that way.

    This half arsed attempt to lock it down is worse in my opinion.


  • Registered Users Posts: 11,465 ✭✭✭✭Ush1


    nedd wrote: »
    true, if the assistant is to remain a Pixel exclusive then they should have figured out some better way of keeping it that way.

    This half arsed attempt to lock it down is worse in my opinion.

    Let a phone be judged on it's merits, instead of this artificial locking down of software to try to corale people into buying the new phone. It's also counter productive, you have a new assistant feature, they should want as many people to be using that as possible, unless of course the ultimate plan is to go the Apple route...

    I think the Nexus line and now this pixel will be eventually Google manufacturing the phones themselves and selling themselves like the iPhone. The interface and phone design itself has slowly been becoming more and more like ios.


  • Registered Users Posts: 3,212 ✭✭✭DECEiFER


    It's very Apple-esque; what they did with Siri was make it iPhone 4S-exclusive, at the time.

    Has anyone given this a go? Please post any feedback pertaining to success or issues. From the comments over on XDA, it works best on Nexus phones running 7.0 and CM has mixed results. It could be the ROM or it could be the users are making silly mistakes, so it's a hard call to make right now. So far, however, Method 2 works best on the Nexus 6. If it doesn't on yours, do Method 1 first and then do Method 2 after reversing Method 1, which is what I had to do as I tried Method 1 first before scratching my head and stumbling on the steps for Method 2 through trial and error. But if you know what you're doing, it's no issue to give it a whirl however way you want, if it's a feature you'd like. Else, just stick with Google Now until Google comes to their senses, which they will, because they'll want this Assistant out in the masses once it's matured a bit.


  • Advertisement
  • Registered Users Posts: 3,212 ✭✭✭DECEiFER


    I can confirm on my Nexus 5 running an unofficial CM14 (7.0) that the Method 2 concept of not clearing the appdata has no effect on the persistent retraining bug. It seems to work fine on many Nexus 6's, as people on XDA have reported back to confirm. So while the Assistant works on the Nexus 5, it will keep asking for the model to be retrained (but you can then hit "Not Now" to skip the step and the Assistant will then come up as normal) and it's probably best to use Method 1 and sometimes an additional clearing of the appdata followed by a reboot is necessary after the build.prop edit in Recovery (once you boot back into the system, of course). So don't be alarmed if it doesn't work instantly after applying the build.prop modification - so long as you've done everything as instructed. If I could edit the OP, I would make this clear up there but my time to edit has now expired. I'd also remove step 2 from Method 1, because it's not necessary there, as I mistakenly left in.

    Onto the topic of the near future. Things may get interesting when 7.1 comes out on AOSP. I personally can see either three things happening.
    1. Nothing changes at all regarding this exploit
    2. The quirks (such as the persistent retain prompt, caused by the app not applying the settings for whatever reason, etc.) may go since the Assistant, after all, was built for 7.1
    3. Google completely reworks how it locks it down to make this exploit impossible, which could require a patch for Pixel phones also so they don't get affected by any changes to how the Google app works in this regard, so we could be okay as this is the one that requires the most thought and effort


  • Registered Users Posts: 543 ✭✭✭NikoTopps


    Would this work on a stock 7,0 Nexus 9? Tempted to give it a go tomorrow.


  • Registered Users Posts: 3,212 ✭✭✭DECEiFER


    NikoTopps wrote: »
    Would this work on a stock 7,0 Nexus 9? Tempted to give it a go tomorrow.
    Probably. Someone with an S II got it going on XDA. Nexus devices are even more of a certainty. I can't say, however, if the persistent voice retrain prompt when you invoke the Assistant by voice will be an issue for you or not. On my Nexus 6, I managed to find a way to make it go away but it didn't make a difference on my Nexus 5. No harm in trying so long as you know how to reverse it, though.


  • Registered Users Posts: 1,692 ✭✭✭flangemeistro


    Sorry if this is a stupid question guys but what's the difference between this assistant and the assistant I already have activated on Google Allo?


  • Registered Users Posts: 2,006 ✭✭✭nedd


    Sorry if this is a stupid question guys but what's the difference between this assistant and the assistant I already have activated on Google Allo?

    Its the same service in the background, just how you activate it and interact with it is different. Currently if you hold the home button Google Now opens, install the above and Google Assistant will open instead.


  • Advertisement
  • Registered Users Posts: 3,212 ✭✭✭DECEiFER


    Sorry if this is a stupid question guys but what's the difference between this assistant and the assistant I already have activated on Google Allo?
    nedd's spot-on. But in summary, it's exclusive to internal use within Allo and not the device.


  • Registered Users Posts: 3,212 ✭✭✭DECEiFER


    I tried asking the Assistant to identify a song, but it came back with "I can't identify songs yet." Looks like it's still in the early stages in terms of functionality (note that Google Now has been able to do this for quite some time) but given time it'll not only maintain the comfortable lead over Siri that it has today (sure, even Google Now is better minus the conversational aspect), but it'll wipe it out completely unless Apple invests more into AI.


  • Registered Users Posts: 294 ✭✭eoinfitzokk


    First of all, fair play to the long and detail post by the OP.

    Would it be possible to enable assistant using tasker. Press home button and assistant opens?


  • Registered Users Posts: 3,212 ✭✭✭DECEiFER


    First of all, fair play to the long and detail post by the OP.

    Would it be possible to enable assistant using tasker. Press home button and assistant opens?
    I've seen posts over on that XDA thread that I linked above but I've never used Tasker (though I probably should check it out). Go to the thread and maybe search for Tasker and you should get posts that refer to it within that thread.


  • Registered Users Posts: 11,465 ✭✭✭✭Ush1


    DECEiFER wrote: »
    I tried asking the Assistant to identify a song, but it came back with "I can't identify songs yet." Looks like it's still in the early stages in terms of functionality (note that Google Now has been able to do this for quite some time) but given time it'll not only maintain the comfortable lead over Siri that it has today (sure, even Google Now is better minus the conversational aspect), but it'll wipe it out completely unless Apple invests more into AI.

    At least Apple has a fairly clear vision and so people actually use their apps and features.

    Googles right arm doesn't seem to know what their left arm is at! These things only get traction when they're around for a while and get lots of users.


  • Registered Users Posts: 3,212 ✭✭✭DECEiFER


    Hi all, there's a small update on the process here (for the better):
    https://www.xda-developers.com/xda-external-link/how-to-enable-google-assistant-without-changing-your-devices-model-name/

    Everything else in the process bar changing the model name remains the same. Also, I flashed 7.1.1 on my Nexus 6 a few days ago and went through the steps again, and it worked instantly.


Advertisement