{"id":153,"date":"2011-03-23T19:20:51","date_gmt":"2011-03-24T00:20:51","guid":{"rendered":"http:\/\/dmach.net\/blog\/?p=153"},"modified":"2011-03-23T22:18:52","modified_gmt":"2011-03-24T03:18:52","slug":"android-market-2-3-force-close","status":"publish","type":"post","link":"https:\/\/dmach.net\/blog\/2011\/03\/23\/android-market-2-3-force-close\/","title":{"rendered":"Android Market 2.3 Force Close \/ Crash"},"content":{"rendered":"<p>I was stumped by this issue for a long time and was only recently able to find the solution using the Android SDK&#8217;s &#8220;adb logcat&#8221; function to reveal the system logs.<\/p>\n<p>Essentially, you try to install or update an app from the Android market, and it crashes with a force close message. Reading around on the forums over at xda-developers.com and other places suggest the following:<\/p>\n<p>Proposed Solution #1<br \/>\nSettings -> Applications -> Manage Applications -> All -> Market :: Hit &#8220;Uninstall&#8221; to uninstall updates, essentially roll back the version to the one that came with your ROM.<\/p>\n<p>Proposed Solution #2<br \/>\nSettings -> Applications -> Manage Applications -> All -> Market :: Hit &#8220;Clear Data&#8221; and &#8220;Clear Cache&#8221;<\/p>\n<p>Proposed Solution #3 (mailny for cyanogenmod or ROMs that don&#8217;t come with the Google apps installed)<br \/>\nBoot into recovery and reinstall the gapps zip file.<\/p>\n<p>Proposed Solution #4<br \/>\nSearch for the Market app&#8217;s apk file and install it using &#8220;adb install -r <em>appname<\/em>.apk&#8221;. Make sure you have Settings -> Applications -> Install from Unknown Sources enabled.<\/p>\n<p>Proposed Solution #5<br \/>\nWipe all data \/ factory reset. Obviously #sadface. Or #angryface.<\/p>\n<p>I tried all of the suggested solutions above, except the full reset. Obviously should be something that doesn&#8217;t require that drastic of a change&#8230; but none of the other solutions worked. So I turned on usb debugging, ran &#8220;adb logcat&#8221;, and then reproduced the market force close \/ crash. Deep in the hundreds of lines of code, I found this:<\/p>\n<p><code>E\/AndroidRuntime( 2975): FATAL EXCEPTION: Download Service<br \/>\nE\/AndroidRuntime( 2975): java.lang.SecurityException: Requires VIBRATE permission<\/code><\/p>\n<p>What the hell? Yes, I thought the same thing&#8230; Why does the market place require vibrate permissions? For notifications maybe&#8230; but even more interesting is the fact that the vibrate permissions are required for com.android.media (the music player), which force closes before the market app.<\/p>\n<p>The solution? I had a profile that turned vibrations off for the default &#8220;Media&#8221; apps group (be default it only has the Music app in it). Switching it to &#8220;No override&#8221; fixed the crashing \/ force close issue in a jiffy.<\/p>\n<p>What&#8217;s up with this funky fix? And why does the Android Market need to call the Music app with vibrate permissions? Beats me&#8230; too bad Google&#8217;s apps are closed source.<\/p>\n<p>EDIT: Known affected Market versions (by me), as of writing: 2.3.2, 2.3.3, 2.3.4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I was stumped by this issue for a long time and was only recently able to find the solution using the Android SDK&#8217;s &#8220;adb logcat&#8221; function to reveal the system logs. Essentially, you try to install or update an app from the Android market, and it crashes with a force close message. Reading around on [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[123,11],"tags":[125,128,129,130,127,85,126,131],"class_list":["post-153","post","type-post","status-publish","format-standard","hentry","category-android","category-tech-tips","tag-android-2","tag-close","tag-crash","tag-cyanogenmod","tag-force","tag-google","tag-market","tag-xda-developers"],"_links":{"self":[{"href":"https:\/\/dmach.net\/blog\/wp-json\/wp\/v2\/posts\/153","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dmach.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dmach.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dmach.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dmach.net\/blog\/wp-json\/wp\/v2\/comments?post=153"}],"version-history":[{"count":5,"href":"https:\/\/dmach.net\/blog\/wp-json\/wp\/v2\/posts\/153\/revisions"}],"predecessor-version":[{"id":159,"href":"https:\/\/dmach.net\/blog\/wp-json\/wp\/v2\/posts\/153\/revisions\/159"}],"wp:attachment":[{"href":"https:\/\/dmach.net\/blog\/wp-json\/wp\/v2\/media?parent=153"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dmach.net\/blog\/wp-json\/wp\/v2\/categories?post=153"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dmach.net\/blog\/wp-json\/wp\/v2\/tags?post=153"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}