{"id":2296,"date":"2014-09-01T21:15:11","date_gmt":"2014-09-01T09:15:11","guid":{"rendered":"https:\/\/www.deltics.co.nz\/blog\/?p=2296"},"modified":"2014-09-01T21:15:11","modified_gmt":"2014-09-01T09:15:11","slug":"sign-here-please-using-this-specific-pen","status":"publish","type":"post","link":"https:\/\/www.deltics.co.nz\/blog\/posts\/2296\/","title":{"rendered":"Sign Here Please&#8230; (Using This Specific Pen)"},"content":{"rendered":"<span class=\"rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">[Estimated Reading Time: <\/span> <span class=\"rt-time\">2<\/span> <span class=\"rt-label rt-postfix\">minutes]<\/span><\/span><p>My original <strong>Android<\/strong> version of <a href=\"https:\/\/play.google.com\/store\/apps\/details?id=itchbox.txt2park\">TXT-2-PARK has been in the Google Play Store<\/a> for a little over a week now.  But it was only on Saturday that I decided to install the release version onto my phone from the store itself, and found a problem.<\/p>\n<p><!--more--><\/p>\n<p>The application would download just fine, but at the point at which it started installing the <strong>Play Store<\/strong> app would complain, reporting that the &#8220;<em>Package is not signed correctly<\/em>&#8220;, or words to that effect, and refuse to install the app.<\/p>\n<p>This was puzzling since I had had no such problem with my previous published app (the <a href=\"https:\/\/play.google.com\/store\/apps\/details?id=nz.co.deltics.batterywidget\">Simple Battery Widget<\/a>).  Not to mention that any issue with the signing of the app would surely have been identified when I uploaded the APK ?<\/p>\n<p>After a bit of digging I found a number of people had had similar issues.<\/p>\n<p>In some cases, where a dev\/debug build had previously been installed on a device (as in my case), the problem was resolved by clearing the <strong>Play Store<\/strong> app cache, in others it required clearing <strong><em>ALL<\/em><\/strong> the <strong>Play Store<\/strong> app data.<\/p>\n<p>Unfortunately this didn&#8217;t fix the problem for me.<\/p>\n<p>A little more digging threw up the fact that for some reason some devices &#8211; but not all &#8211; seem to have trouble validating app signatures if they have been signed with the <strong>Java 7<\/strong> or <strong>8<\/strong> SDK&#8217;s.  The suggested solution in that case is to revert to the <strong>Java 6 SDK<\/strong>.<\/p>\n<p>In my current <strong>Windows 8.1 VM<\/strong> where I do my <strong>RO Elements<\/strong> work, I had indeed replaced my previous <strong>Java 6 SDK<\/strong> with <strong>Java 7<\/strong>.<\/p>\n<p>So I installed the <strong>Java 6 SDK<\/strong>, updated the necessary references in the <strong>PATH<\/strong> and <strong>Visual Studio<\/strong> (<strong>Oxygene<\/strong>) settings, rebuilt my <strong>Android<\/strong> solution, re-submitted to the <strong>Play Store<\/strong> and&#8230; problem solved.  \ud83d\ude42<\/p>\n<p>Which just leaves the question of why the <strong>Play Store<\/strong> validation process accepts the signature on an app which the <strong>Play Store<\/strong> <em>app<\/em> then rejects.<\/p>\n<p>But whatever the reason, it seems that signing apps with <strong>jarsigner<\/strong> from the <strong>Java 6 SDK<\/strong> is the way to avoid this particular problem.<\/p>\n<p><strong>NOTE:<\/strong> <em>This is not an <strong>Oxygene<\/strong> issue but one that could affect the signing of any <strong>Android<\/strong> app using the Java SDK tools.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p><span class=\"rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">[Estimated Reading Time: <\/span> <span class=\"rt-time\">2<\/span> <span class=\"rt-label rt-postfix\">minutes]<\/span><\/span> My original Android version of TXT-2-PARK has been in the Google Play Store for a little over a week now. But it was only on Saturday that I decided to install the release version onto my phone from the store itself, and found a problem.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":[]},"categories":[212,205,4,180],"tags":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p1TKYv-B2","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":2285,"url":"https:\/\/www.deltics.co.nz\/blog\/posts\/2285\/","url_meta":{"origin":2296,"position":0},"title":"While I Was Waiting For Apple&#8230;","date":"01 Sep 2014","format":false,"excerpt":"So Saturday morning I finished the iOS version of my application and published it to the App Store. Of all of the app stores, the approval process with Apple evidently takes the longest. So, whilst waiting for my app to be released, I developed (and published) the Windows Phone version\u2026","rel":"","context":"In &quot;Android&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1670,"url":"https:\/\/www.deltics.co.nz\/blog\/posts\/1670\/","url_meta":{"origin":2296,"position":1},"title":"First Impressions Of XE5 for Android","date":"19 Sep 2013","format":false,"excerpt":"I thought I should at least take a look at the amazing Android support in XE5 so I decided to work through the tutorial that was brought to my attention recently. The first order of business of course, is getting installed. After making a cup of tea, reading a book,\u2026","rel":"","context":"In &quot;Android&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2280,"url":"https:\/\/www.deltics.co.nz\/blog\/posts\/2280\/","url_meta":{"origin":2296,"position":2},"title":"Oxygene Constructor Magic on Cocoa","date":"30 Aug 2014","format":false,"excerpt":"Earlier this week I mentioned that I had published my TXT-2-PARK app for Android in the Google Play Store. Today I published the iOS version to the Apple App Store (still awaiting approval at this stage). As with the Android version, I implemented the iOS version using Oxygene, and things\u2026","rel":"","context":"In &quot;Android&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1587,"url":"https:\/\/www.deltics.co.nz\/blog\/posts\/1587\/","url_meta":{"origin":2296,"position":3},"title":"Delphi for (Some) Android","date":"13 Sep 2013","format":false,"excerpt":"Embarcadero have blogged about the first Android app \"in the wild\" (actually, being on the Play store I think it's the first domesticated app - wild ones surely get side-loaded ? :)). Rather embarrassingly they already have a comment from someone unable to use this \"true native Android\" application on\u2026","rel":"","context":"In &quot;Android&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1896,"url":"https:\/\/www.deltics.co.nz\/blog\/posts\/1896\/","url_meta":{"origin":2296,"position":4},"title":"Getting Published in the Play Store (Google Apps)","date":"14 Oct 2013","format":false,"excerpt":"Well, this went far more smoothly than I had anticipated. At the XE5 World Tour event in Auckland, Brian Hamilton, creator of the iWD app, told us that getting his approved took about a week (if I recall correctly), and he had to submit a video showing how his app\u2026","rel":"","context":"In &quot;Android&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2303,"url":"https:\/\/www.deltics.co.nz\/blog\/posts\/2303\/","url_meta":{"origin":2296,"position":5},"title":"Zombie Apps (not) in the Apple App Store","date":"14 Sep 2014","format":false,"excerpt":"In the run up to the announcement of the new iPhone 6 and the Apple Watch, Apple also revamped iTunes Connect, the portal through which apps are submitted to the App Store. Unfortunately the new interface has a number of problems which I spent wasted hours dealing with yesterday. Beginning\u2026","rel":"","context":"In &quot;Delphi&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/www.deltics.co.nz\/blog\/wp-json\/wp\/v2\/posts\/2296"}],"collection":[{"href":"https:\/\/www.deltics.co.nz\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.deltics.co.nz\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.deltics.co.nz\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.deltics.co.nz\/blog\/wp-json\/wp\/v2\/comments?post=2296"}],"version-history":[{"count":1,"href":"https:\/\/www.deltics.co.nz\/blog\/wp-json\/wp\/v2\/posts\/2296\/revisions"}],"predecessor-version":[{"id":2297,"href":"https:\/\/www.deltics.co.nz\/blog\/wp-json\/wp\/v2\/posts\/2296\/revisions\/2297"}],"wp:attachment":[{"href":"https:\/\/www.deltics.co.nz\/blog\/wp-json\/wp\/v2\/media?parent=2296"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.deltics.co.nz\/blog\/wp-json\/wp\/v2\/categories?post=2296"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.deltics.co.nz\/blog\/wp-json\/wp\/v2\/tags?post=2296"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}