[Nexus 5X Q&A, Help & Troubleshooting] Jackio987:
So recently I unlocked the boot loader of my Moto G 2nd generation and installed a custom rom so that I can get the google assistant to work on it by changing the build.prop. This was a test before I moved onto my Nexus.

So I got the Moto g 2nd Generation to work so I decided to move to the Nexus device.

I unlocked my bootloader "fastboot flashing unlock", Flash factory images, setup my device, Flashed TWRP using the Android Development Bridge and fastboot with the command "fastboot flash recovery twrp-3.0.2-2-bullhead.img" and then booted into recovery. I then extracted my build.prop using ADB "adb pull /system/build.prop" and edited it by changing ro.product.model=Nexus 5X to ro.product.model=Pixel and added the line ro.opa.eligible_device=true. I then pushed it back to my device and changed the permission "adb push build.prop /system/build.prop" "adb shell" "chmod 644 /system/build.prop". I then rebooted my device and checked my device information and it still has the model name of Nexus 5X. I then rebooted into recovery again and check to see if the build.prop had saved and it still had the changes applied but android doesn't seem to notice the changes so I wiped the cache and dalvik cache and it didn't help.

So I was wondering what can I do to fix this and can I edit the build.prop without root I am running android NBD90W and thank you in advance.

This is the start of original Build.prop of my device (parts that will be changed are underlined

# begin build properties

# autogenerated by buildinfo.sh

ro.build.id=NBD90W

ro.build.display.id=NBD90W

ro.build.version.incremental=3239497

ro.build.version.sdk=24

ro.build.version.preview_sdk=0

ro.build.version.codename=REL

ro.build.version.all_codenames=REL

ro.build.version.release=7.0

ro.build.version.security_patch=2016-10-05

ro.build.version.base_os=

ro.build.date=Thu Sep 1 06:03:08 UTC 2016

ro.build.date.utc=1472709788

ro.build.type=user

ro.build.user=android-build

ro.build.host=kpfj12.cbf.corp.google.com

ro.build.tags=release-keys

ro.build.flavor=bullhead-user

ro.product.model=Nexus 5X

ro.product.brand=google

ro.product.name=bullhead

ro.product.device=bullhead

ro.product.board=bullhead

# ro.product.cpu.abi and ro.product.cpu.abi2 are obsolete,

# use ro.product.cpu.abilist instead.

ro.product.cpu.abi=arm64-v8a

ro.product.cpu.abilist=arm64-v8a,armeabi-v7a,armeabi

ro.product.cpu.abilist32=armeabi-v7a,armeabi

ro.product.cpu.abilist64=arm64-v8a

ro.product.manufacturer=LGE

ro.product.locale=en-US

ro.wifi.channels=

ro.board.platform=msm8992

# ro.build.product is obsolete; use ro.product.device

ro.build.product=bullhead

# Do not try to parse description, fingerprint, or thumbprint

ro.build.description=bullhead-user 7.0 NBD90W 3239497 release-keys

ro.build.fingerprint=google/bullhead/bullhead:7.0/NBD90W/3239497:user/release-keys

ro.build.characteristics=nosdcard

# end build properties

And this is the start of the edited build.prop (changes are underlined)

# begin build properties

# autogenerated by buildinfo.sh

ro.build.id=NBD90W

ro.build.display.id=NBD90W

ro.build.version.incremental=3239497

ro.build.version.sdk=24

ro.build.version.preview_sdk=0

ro.build.version.codename=REL

ro.build.version.all_codenames=REL

ro.build.version.release=7.0

ro.build.version.security_patch=2016-10-05

ro.build.version.base_os=

ro.build.date=Thu Sep 1 06:03:08 UTC 2016

ro.build.date.utc=1472709788

ro.build.type=user

ro.build.user=android-build

ro.build.host=kpfj12.cbf.corp.google.com

ro.build.tags=release-keys

ro.build.flavor=bullhead-user

ro.product.model=Pixel

ro.product.brand=google

ro.product.name=bullhead

ro.product.device=bullhead

ro.product.board=bullhead

ro.opa.eligible_device=true

# ro.product.cpu.abi and ro.product.cpu.abi2 are obsolete,

# use ro.product.cpu.abilist instead.

ro.product.cpu.abi=arm64-v8a

ro.product.cpu.abilist=arm64-v8a,armeabi-v7a,armeabi

ro.product.cpu.abilist32=armeabi-v7a,armeabi

ro.product.cpu.abilist64=arm64-v8a

ro.product.manufacturer=LGE

ro.product.locale=en-US

ro.wifi.channels=

ro.board.platform=msm8992

# ro.build.product is obsolete; use ro.product.device

ro.build.product=bullhead

# Do not try to parse description, fingerprint, or thumbprint

ro.build.description=bullhead-user 7.0 NBD90W 3239497 release-keys

ro.build.fingerprint=google/bullhead/bullhead:7.0/NBD90W/3239497:user/release-keys

ro.build.characteristics=nosdcard

# end build properties

And this is the start of the build.prop of my Moto G 2nd Generation running cyanogenmod 14 beta with the google assistant (changed parts will be underlined)

# begin build properties

# autogenerated by buildinfo.sh

ro.build.id=NBD90Z

ro.build.display.id=cm_titan-userdebug 7.0 NBD90Z 9d1048a4a0 test-keys

ro.build.version.incremental=9d1048a4a0

ro.build.version.sdk=24

ro.build.version.preview_sdk=0

ro.build.version.codename=REL

ro.build.version.all_codenames=REL

ro.build.version.release=7.0

ro.build.version.security_patch=2016-10-05

ro.build.version.base_os=

ro.build.date=Tue Oct 11 03:38:56 CEST 2016

ro.build.date.utc=1476149936

ro.build.type=userdebug

ro.build.user=luk1337

ro.build.host=build2.dev.xda-developers.com

ro.build.tags=test-keys

ro.build.flavor=cm_titan-userdebug

ro.product.brand=motorola

ro.product.name=cm_titan

ro.product.board=MSM8226

ro.product.model=Pixel

ro.opa.eligible_device=true

# ro.product.cpu.abi and ro.product.cpu.abi2 are obsolete,

# use ro.product.cpu.abilist instead.

ro.product.cpu.abi=armeabi-v7a

ro.product.cpu.abi2=armeabi

ro.product.cpu.abilist=armeabi-v7a,armeabi

ro.product.cpu.abilist32=armeabi-v7a,armeabi

ro.product.cpu.abilist64=

ro.product.manufacturer=motorola

ro.product.locale=en-US

ro.wifi.channels=

ro.board.platform=msm8226

ro.build.characteristics=default

ro.cm.device=titan

# end build properties

I know that it looks like there is no _ in ro.opa.eligible_device=true but there is.

Here are some links to the guides that I have followed

https://verdictforu.com/2016/10/11/google-assistant-on-android-nougat-devices/

http://xdaforums.com/android/software/guide-how-to-enable-google-assistant-t3477879

Ok I have found the problem. Apparently it's not just me, dratsablive is experiencing that same problem

And david279 has stated that you do need root to get changes in the build.prop to load

If anyone knows if this is true then please tell me but from my experience this is true because my Moto G 2nd generation with root can load build.prop changes but my Nexus 5X running stock android can't.