Google Now voice input FC's (force-closes) on armv6 devices. Boo. Hiss. Part of the lib works, 'listen to tv' works.
Hotword detection is completely borked on armv6. Luckily you can turn it off in Google Settings after Now is installed or it'll FC like crazy too.
If you're into this kind of thing you may remember how cool it was when people got Google Now with Voice Search working for armv6 devices.
It doesn't work anymore on newer releases of Now.
The ics voice search assistant only works on Google Now (Velvet.apk) up to version 2.0 and Now is currently over v3.
So, I wanted to make something like the old search assistant for the current version of Google Now, since my lovely Optimus V obsolete phone is still kicking with Android 4.2.2 CM-11 unofficial.
I enjoy the voice controls. It's geeky. It's fun. It's somethiIng those uppity newer phone users lord over us cheapskates and diehards.
Even though Google Voice Search is froyo-era software, and online-only, it can still be used by Intent.
So...
I made an app. Widget actually. Press it, wait for the Voice Search box, and talk. It reroutes the transcript to Google Search (Now.) That includes OK Google commands, like 'call 555 555 1212' 'weather' etc. list of commands here and here
I couldn't get all the easter eggs to work, they may be in the hotword detector or libvcdecoder. Some do work though.
The talkback from Google Search still doesn't work with this gimmick. But you can talk into it at least.
This does not fix the mic icon on the Google search bar. Only allows a workaround for voice input via widget or long-press search key,
See this post to get around that.
Thanks again to Dovidhalevi for that tip.
Installation:
Get Voice Search on Play
get the apk from post 2, and install it.
If youve already got Google Now version 3.10 or higher sideloaded you can skip this next bit, go straight to fixing the Google Now settings.
I haven't been able to get either the launcher or Search to work installing from Play.
The Easy Way
Sideload the official apks from somewhere like androidpolice, and then you don't have to push anything to /data.
Here's the androidpolice 3.3 article with a download link.
The Harder Way
Get Now (and the launcher if you see fit) from the gapps here.
G Now is four files. /system/priv-app/Velvet.apk (chmod 644)
and three libs from /system/lib
libvcdecoder_jni.so, libgoogle_recognizer_jni_l.so, and libgoogle_hotword_jni.so (chmod 644)
(thanks to Dovidhalevi for pointing out the libvcdecoder.jni.so, I had missed that one.)
the launcher is /system/app/GoogleHome.apk (chmod 644) but it's not required.
you can 'adb install' Velvet, then adb push the three libs to /data/data/com.google.android.googlequicksearchbox/lib if you don't have space on /system.
Fix Google Search Settings!
once those files are installed,
1) immediately go into Google settings > Search & Now > Voice > "Ok Google" hotword detection, and turn it off.
2) Then back up one menu to Google settings > Search & Now > Voice, open Language and set it to something obscure like Hungarian (this avoids nasty FCs that happen to some users, thanks again Dovidhalevi for the tip!)
Important: If Search keeps closing on you, you need to make sure you changed the language in Google settings as listed in #2 from the previous paragraph.
If there's no setting to turn off hotword detection, the version is too old. try v3.10 or newer.
still get Search force closes? @rar**** posted a fix.
Usage:
The first time you run it there will (well, should) be a dialog asking what you want to use. Select Voice Search, Always.
(If there's not a dialog asking what to run for this action, go to Settings >Apps > Google Search and clear defaults. If that doesn't do it, clear defaults for Voice Search and VoiceSearchWrapper too.)
The widget can be activated by long-press search button. Another dialog should pop up. Select VoiceSearchWrapper, always.
Just tell it what to do, like after the hotword on a newer device. Instead of "Ok Google, weather" just say "weather."
This thread is to debug the apk. I've already gotten some great help from Dovidhalevi for the language settings, and Rar**** for the more comprehensive language workaround.
here is source, ADT project.
I know this doesn't match the template. I wanted to get source and binary UP though. I'll prettify this later.
known glitches:
Voice responses don't work (Search doesn't talk back to you, and the nonfunctional Easter eggs are talkbacks.)
'navigate to <location>' opens a web search for the text. Pressing enter in the search box corrects it to offer the Navigation app correctly targeted. ???
//edit: sideloading the apk from androidpolice instead of using the one from pa_gapps fixes this specific issue.
tested to function on:
lg optimus one,s,v cm11
galaxy mini cm10.1 (thanks damopi95 for testing)
Click to expand...
Click to collapse
XDA:DevDB Information
Voice Search Wrapper for Google Now voice commands on armv6, App for the LG Optimus One P500
Contributors
bigsupersquid, google, stackoverflow.com
Version Information
Status: Testing
Current Beta Version: 1.0
Beta Release Date: 2014-04-07
Created 2014-04-07
Last Updated 2014-05-28
Download
APK here.
md5sum 1b3977dbfed9290edae950862d911d94
Current version 1.0
leaving feedback in the thread whether or not it works for you encourages development, expands the compatible device list, and keeps this alive in the search engines so other legacy device users can find it.
Reserved
Installed the wrapper app. Previously had the "on-line" voice search. BTW, this, along with Jeannie, etc., did work.
I did not get a dialog but got the voicesearch speak box immediately. Google search FC.
Running voicesearch itself similarly voice search FC. Did work before.
Jeannie still works.
This is off a Play store version of Google Search. Even if I simply place that velvet.apk in priv-app and symlink the libraries, there is still no room. I have 14meg free on system. Most of us trim less from the ROM so have even less available. The velvet.apk it itself 17meg. The libs, another 17meg but I have symlinked those off in the past. Were those libs compiled for armv6 (They are not opensource, usually come precompiled for armv7)?
The Velvet.apk is actually quite good in that it has the language models on it. Versions for our device will not let us download them. But this, along with the launcher being included, makes it too big. Play versions install as user app, include the recognizer lib inside (for armv7). Must be sideloaded.
I sideloaded the Velvet.apk
Pushed the libs to sd-ext, symlinked to /system/lib
Still does not work but will check after reboot.
P500 users will be very unlikely to get this stuff installed on /system/priv-app. BTW, no interest in "Ok Google," which would simply deplete the battery were it to work at all. BTW, Google will probably bump the app off Play unless the title gets changed--did that to the original ICS widget.
Dovidhalevi said:
Installed the wrapper app. Previously had the "on-line" voice search. BTW, this, along with Jeannie, etc., did work.
I did not get a dialog but got the voicesearch speak box immediately. Google search FC.
Running voicesearch itself similarly voice search FC. Did work before.
Jeannie still works.
This is off a Play store version of Google Search. Even if I simply place that velvet.apk in priv-app and symlink the libraries, there is still no room. I have 14meg free on system. Most of us trim less from the ROM so have even less available. The velvet.apk it itself 17meg. The libs, another 17meg but I have symlinked those off in the past. Were those libs compiled for armv6 (They are not opensource, usually come precompiled for armv7)?
The Velvet.apk is actually quite good in that it has the language models on it. Versions for our device will not let us download them. But this, along with the launcher being included, makes it too big. Play versions install as user app, include the recognizer lib inside (for armv7). Must be sideloaded.
I sideloaded the Velvet.apk
Pushed the libs to sd-ext, symlinked to /system/lib
Still does not work but will check after reboot.
P500 users will be very unlikely to get this stuff installed on /system/priv-app. BTW, no interest in "Ok Google," which would simply deplete the battery were it to work at all. BTW, Google will probably bump the app off Play unless the title gets changed--did that to the original ICS widget.
Click to expand...
Click to collapse
Thanks for the feedback.
Didn't plan to Play store this one, it's too hacky anyway. Hopefully they won't bump the beta but if they do I'll fix it.
The libs are armv7 but only parts of them are NEON or thumb2. So on my Optimus V (msm7627) the voice-recognition parts of those libs FC. The listen/broadcast to google server part of the recognizer lib seems to work though. (listen to TV finds the wrong shows but similar.)
without the hotword lib Now FC's even more than usual. With it installed but turned off there are no complaints in logcat about hotword.
After enough reboots my install of Now seems to have stabilized and doesn't FC very often unless I hit the mic icon by accident.
However, I am using the 'stock' pa gapps package except for the total unrunnables like chrome and the keyboard. ridiculous amount of system storage eaten up. Since I am running my whole phone except for the boot.img off my sd card storage space doesn't matter. So I hadn't tried the sideloaded .apk since moving past Velvet 2.0 and didn't realize it'd FC instead of running.
Though, your post in the ROM thread indicated you've had issues with Now being a FC-ing beast anyway even on text searches? I rarely ever have had it crash on text searches.
I will have to test sideloading the apk now.
//edit: yes, sideloading the apk from the gapps then pushing the two libgoogle_* libs to /data/data/com.google.android.googlequicksearchbox/lib works for me. Didn't even have to reboot.
My widget doesn't show anything before popping up voice search, unless search initializes slowly, then you see the 'voicesearchwrapper' dialog box for a sec.
All it's meant to do is pipe the text output from Voice Search into Now.
Also, to get the Android system selection box for what handles voice input for what function, I had to uninstall and reinstall Voice Search. Since you've already got different defaults selected I can imagine why it wouldn't hook right.
bigsupersquid said:
Thanks for the feedback.
....
Though, your post in the ROM thread indicated you've had issues with Now being a FC-ing beast anyway even on text searches? I rarely ever have had it crash on text searches.
I will have to test sideloading the apk now.
Click to expand...
Click to collapse
How do you run everything of sdcard? Using that OSD Rom? I might think that an sdcard is a bit slow for system but never noticed any lags from link2sd's placements on the sdcard.
See how you make out with a sideload, maybe there is a workaround? No way for most of us to shove this onto /system/priv-app.
BTW, there MAY be a way, sort of. The paid version of link2sd can symlink system dexes. But everything else still must fit on system. Symlinking dexes free a bit more /data space. Wondering about manually symlinking apps to /system/app and /system/priv-app. Unfortunately, kitkat ROMs do not necessarily respect such symlinks, possibly because built-in selinux policies (evidenced in file_context) do not include references to the target placements. This may be why I cannot upgrade omni sanely.
Dovidhalevi said:
How do you run everything of sdcard? Using that OSD Rom? I might think that an sdcard is a bit slow for system but never noticed any lags from link2sd's placements on the sdcard.
See how you make out with a sideload, maybe there is a workaround? No way for most of us to shove this onto /system/priv-app.
BTW, there MAY be a way, sort of. The paid version of link2sd can symlink system dexes. But everything else still must fit on system. Symlinking dexes free a bit more /data space. Wondering about manually symlinking apps to /system/app and /system/priv-app. Unfortunately, kitkat ROMs do not necessarily respect such symlinks, possibly because built-in selinux policies (evidenced in file_context) do not include references to the target placements. This may be why I cannot upgrade omni sanely.
Click to expand...
Click to collapse
I run everything off the card with a modified boot process. But unlike Multirom or linking, it's stock Android code that does it for me now.
fstab.thunderc calls out /system and /data with "EMMC" mmcblk partitions and init.thunderc.rc does a 'mount_all /fstab.thunderc'... which requires replacing the qcom.init.rc direct MTD mount commands with comments. My system partition is currently 1GB and it's using well over 400MB of that. Antutu, quadrant, and linpack show no major speed differences from running off card. Class 4 16GB, class 10 8GB, class 2 4GB, all have worked for me. Biggest problem, one user had their only sd card fail while installed and recovery wouldn't sideload flash another zip without a card. Required adb and flash_image with internal system.img and boot.img pushed to /data to fix.
The internal MTD /system partition is only 165MB (157 on the Optimus S!) and it just barely holds kitkat with any features. I made a ROM version for it because people are more comfortable with that than my experimental version, but I don't use it myself. It works, but I hate dealing with linking and other methods of faking out Android because my phone has puny internal storage capacity. Multirom was cool, it was similar in that it mounted the external filesystems before booting, so Android didn't see anything funny going on. That stopped working for me with ICS.
Our devices are very similar. I've ported software over, and, um, borrowed, the p500 androidarmv6 3.0.8 kernel code for the VM670. The same trick should work if you'd like to try it.
To avoid too much off-topic, I'd be happy to discuss an easy (zip flash and adb shell cp -a) way to test the method on your device off in another thread somewhere.
I will check on the sideloading since not many armv6 users have enough system space. Most likely the one in the gapps will still sideload and the libs can be manually copied into /data/data/com.google.android.googlequicksearchbox/lib afterwards.
edit: yes, sideloading and pushing the libs there worked for me. Once. Then a FC every time it's opened. Same with android police version 3.3 apk.
I will examine my logs. Thanks for the pointer.
@Dovidhalevi
the force closes appear to be from the hotword not being disabled in google settings>voice>hotword
I had the same issues you reported from sideloading until I went into those settings and disabled the hotword.
It's actually mentioned in the OP but now I'll stress it's important there
bigsupersquid said:
@Dovidhalevi
the force closes appear to be from the hotword not being disabled in google settings>voice>hotword
I had the same issues you reported from sideloading until I went into those settings and disabled the hotword.
It's actually mentioned in the OP but now I'll stress it's important there
Click to expand...
Click to collapse
Hotword will cause numerous FCs. I turn it off as fast as I can. Once off, Google Search will remain stably, show cards, etc. FCs with inputs as described. Hotword not the issue.
Dovidhalevi said:
Hotword will cause numerous FCs. I turn it off as fast as I can. Once off, Google Search will remain stably, show cards, etc. FCs with inputs as described. Hotword not the issue.
Click to expand...
Click to collapse
it seems like your system is using the wrong default app for voice. maybe if you went into apps under settings and clear defaults for a Google search voice search and voice search wrapper then you should get the default dialogs.
//edit: Thanks for the PM about how you got it working! I have added the info about the extra lib and the langauge settings to the OP and credit.
Thanks a lot for the source. Just asking for permissions. Can I use it in my ROM?
I know but still asking for conformation
rhar**** said:
Thanks a lot for the source. Just asking for permissions. Can I use it in my ROM?
I know but still asking for conformation
Click to expand...
Click to collapse
certainly.
a link to the original here or github as a credit would be cool but not required...
as you inferred, the point to sharing source is to allow free use.
thanks for asking though.
If Google Now is already installed, is it possible to just push the lib files? or should I uninstall Google Now, Search, and Launcher and proceed with the steps posted on OP?
ruelericsapalaran said:
If Google Now is already installed, is it possible to just push the lib files? or should I uninstall Google Now, Search, and Launcher and proceed with the steps posted on OP?
Click to expand...
Click to collapse
if Now is already installed all you need to install is Voice Search and the widget.
Clear defaults in Google Search after installing the other two and you should get the default dialogs to finish setting it up.
I will add this to the OP since I hadn't considered it.
bigsupersquid said:
if Now is already installed all you need to install is Voice Search and the widget.
Clear defaults in Google Search after installing the other two and you should get the default dialogs to finish setting it up.
I will add this to the OP since I hadn't considered it.
Click to expand...
Click to collapse
When you say "widget" you mean the wrapper apk, right? Also, what do you mean when you say "clear defaults in Google Search", because as I check Google Settings>Search & Now, there's no option to clear defaults.
ruelericsapalaran said:
When you say "widget" you mean the wrapper apk, right? Also, what do you mean when you say "clear defaults in Google Search", because as I check Google Settings>Search & Now, there's no option to clear defaults.
Click to expand...
Click to collapse
Yep, the VoiceSearchWrapper.apk is the widget.
As far as settings,
(If there's not a dialog asking what to run for this action, go to Settings >Apps > Google Search and clear defaults. If that doesn't do it, clear defaults for Voice Search and VoiceSearchWrapper too.)
Click to expand...
Click to collapse
bigsupersquid said:
Yep, the VoiceSearchWrapper.apk is the widget.
As far as settings,
Click to expand...
Click to collapse
Done clearing defaults but still getting Google Search FC
ruelericsapalaran said:
Done clearing defaults but still getting Google Search FC
Click to expand...
Click to collapse
Did you set the language to Hungarian like I was told had to be done sometimes?
By the way, I am using your troubles to clarify the OP. Keep me posted, please. And I may need a logcat to check exactly what is happening if it can't be easily trouble(shooted? shot?) through trial and error.
bigsupersquid said:
Did you set the language to Hungarian like I was told had to be done sometimes?
By the way, I am using your troubles to clarify the OP. Keep me posted, please. And I may need a logcat to check exactly what is happening if it can't be easily trouble(shooted? shot?) through trial and error.
Click to expand...
Click to collapse
Okay. The thing I did not find the "Ok Google" hotword detection" option in my Google settings. I'm not sure if this would mean I have to re-install again? Or should I just clear data and cache of the 3(Now, Search, GNL)?
ruelericsapalaran said:
Okay. The thing I did not find the "Ok Google" hotword detection" option in my Google settings. I'm not sure if this would mean I have to re-install again? Or should I just clear data and cache of the 3(Now, Search, GNL)?
Click to expand...
Click to collapse
older versions of Search don't have the needed setting. what version is yours? the one I currently have installed is 3.3.10
looks like I should determine what the earliest version is with that setting.
I installed a themed playstore, it worked for a week, and then stopped working.
Can someone please post either a flashable zip, or the apks for google play store, and download manager? I muxed up my google playstore and now when ever I open it it crashes with this Message:
"Unfortunately google play store has stopped"
The only way i can get into the playstore without it crashing is to clear cache and data on the playstore app from within settings, but then once I initiate any kind of app download, it crashes witht he same message. I've tried every method I could find via the interwebs and thus far none have worked.
Clearing cache and data on:
-Play store
-download manager
-google play services
Removing and adding back my google account, switching from dalvik to art and then back to dalvik, been trouble shooting this for a 2 weeks now. I had a back up of my original playstore before I flashed the themed one but I inadvertently deleted it in TiBup.
Really trying to avoid a factory reset, and I'm not upgrading to L until Xposed is out or they allow us to change it to the darker version of L.
Anyone willing to pull the default apps from Titanium backup and post a link for me to download, or PM me? Come on guys I need a little help here. I've tried pulling the playservices and playstore with http://apps.evozi.com/apk-downloader/ but they still don't fix my issue, I feel like Download manager is the source of the problem, but I don't know enough about how these things tie together to be sure, any help or insight is greatly appreciated.
Hey guys,
I have no idea, in what section to post this thing, I am new on XDA... If you know better, just move this thread pls :3
And: please excuse my english, please correct me if there are some mistakes (and there will be )
My data:
I have a Samsung Galaxy A5 / A500FU, this is not very popular and there are actually no working Custom-ROMs out there.
I rooted it via Odin and I flashed a custom-recovery on it (TWRP), this was also pretty hard to find but it's working...
It is running on Android Stock Lollipop 5.0.2 (No updates available, it's running on latest)
How this happened:
I used Lucky Patcher to try out some patches on Google Play Store, so I first started the "In-App Emulation patch" and selected to save a backup of the apk,
to make shure I could just restore it, if anything goes wrong. Then, I installed the individual patch for the Play Store named "Support.InApp.LVL", after nothing changed on the Play Store,
I think I patched some sort of Services from Google Play too but I remember that it threw an error, so nothing changed on that. I discovered the option of installing a modified Play Store in Lucky Patcher and I realized that this patch was not neccessary so I restored the old Play Store. Then there were the first Errors I dont quite remember it, but It should be "Google Play Services has stopped" or something like that... Also the Play Store didn't worked then, I searched some on the Internet and I found a solution, where I just have log out from my google account and reconnect then. This were the point, where my problems really started. I spent the last 24 hours on searching for any kind of solution for my problem, because I just cannot log into my account. Also the whole time error's were thrown:
"Google Services was stopped"
"com.process.google.gapps stopped"
I tried a lot of things to solve that. I tried about 30 possible solutions for the diffrent errors, here are some(In order):
- I cleared data & cache from the google apps like Play Store, Play Services and GoogleServicesFramework
- I restarted my device after every change I made
- I tried a Soft-Reset (Press Off + Volume-Down for a few seconds until it restarts)
- I tried the Play-Store Fixer
- I disabled some Google Apps and I found out that the Disabling of "GoogleServicesFramework" is solving the "com.process.google.gapps stopped"-Error so far.
- I cleared the hosts.txt and disabled any sort of VPN and my Adblocker
- I uninstalled Updates from Google-Apps, because I thought that they would update themselfes to the current supported versions and I restarted my phone a couple times.
- I uninstalled complete Google-Apps, starting at the GoogleServicesFramework, which obviously causes some problems. I downloaded some apk's from it from the Internet (googleservicesframework.apk) and moved them into /system/app and restarted every time... After that I got a very old interface on logging into my google account, the error "com.process.google.gapps stopped" still consisted. After disabling the GoogleServicesFramework again, it solved the error again, but I still can't login into my account! I tried that downloading a few times (GoogleServicesFramework, Google Play Services & Google Play Store), but nothing helped. I also installed apk's from a Gapps-Package I got, with a few more Apps(anything that could have to do with Google Login), still the same.
- I flashed some Gapps-Packages with TWRP, that brought me back the lollipop login-screen, but the errors consist.
Now:
I can't do much with my phone, I'm being spammed with thoose Errors
"Google Services was stopped"
"com.process.google.gapps stopped"
And a lot of Apps are telling me that Google Play Services have to be updated, but to update it I have to log in, and that doenst work as you know already...
I really hope anyone out there has a solution for me
Thanks in advance, Dennis
P.S: I really dont want to make a factory-reset, also I dont think it will solve the error...
Xda is a development site made for developers, and we don't discuss or condone Warez. Lucky patcher is Warez and steals paid features from developers.
Sorry, but you'll need to seek help elsewhere.
Thread closed.