Thank you for your suggestion. I'll try this out if the user is willing and post my findings.
On Tue, Aug 14, 2012 at 10:04 AM, Kostya Vasilyev <[email protected]>wrote: > > 2012/8/14 Acubeware <[email protected]> > >> Thanks for your response. The user has informed us that their version of >> the Google Play app is 3.7.15. > > > So is mine on a Galaxy Nexus.... > > Still -- if that device uses a pirated version of Market (even the latest > version) it could break in various ways. And it does look like a generic > no-name tablet with someone's logo on it. > > Also, here is the relevant code from the LVL library: > > if (mService == null) { > Log.i(TAG, "Binding to licensing service."); > try { > boolean bindResult = mContext > .bindService( > new Intent( > new String( > > Base64.decode("Y29tLmFuZHJvaWQudmVuZGluZy5saWNlbnNpbmcuSUxpY2Vuc2luZ1NlcnZpY2U="))), > this, // ServiceConnection. > Context.BIND_AUTO_CREATE); > > if (bindResult) { > mPendingChecks.offer(validator); > } else { > Log.e(TAG, "Could not bind to service."); > handleServiceConnectionError(validator); > } > } catch (SecurityException e) { > > callback.applicationError(LicenseCheckerCallback.ERROR_MISSING_PERMISSION); > } catch (Base64DecoderException e) { > e.printStackTrace(); > } > } else { > mPendingChecks.offer(validator); > runChecks(); > } > } > > The base64 string is used starting with LVL version 2 and decodes to > "com.android.vending.licensing.ILicensingService", same action value as was > used in LVL version 1. > > I guess what I would do at this point, if the user has enough patience to > investigate this further, is to write a simple test app that attempts to > bind to the licensing service, and also queries the package manager to > attempt resolving the bind intent. > > The test app won't be able to perform a real LVL check on behalf of your > app but just attempting to bind should be useful. It could call the LVL > with its own package name, and that should return "not market managed"... > > The point of all this would be to find out for sure if there is something > wrong with Market on the device -- I believe there is, but if you wanted to > be certain, you should be able to clarify the issue with a simple test like > this. > > -- K > > >> >> >> On Thursday, July 26, 2012 10:24:00 PM UTC+12, Kostya Vasilyev wrote: >> >>> Ask the user to check the Google Play app version. >>> >>> I'd guess the device uses the Play app obtained in unofficial ways >>> (putting it mildly), and as such, various pieces of functionality may break >>> in unexpected ways. >>> >>> -- K >>> >>> 2012/7/24 Acubeware <[email protected]> >>> >>>> Hi, >>>> >>>> We have published an app on Google Play Store that uses the Android >>>> license verification library. We have a customer whose license is unable to >>>> be verified because the LVL library cannot bind to the licensing service >>>> (as highlighted in the customer's log file pasted below). This appears to >>>> be a device specific issue because our application has been tested on a >>>> number of different devices and Android versions without problem. We also >>>> have a number of other customers who are successfully using the >>>> application. >>>> >>>> The device that is experiencing this problem is an ALLVIEW PC ALLDRO >>>> SPEED with a CORTEX A8, 1.2 GHZ processor running Android 4.0. The >>>> device has the Google Play app installed. Does anyone have any idea as >>>> to what could be causing the bindService call to fail? >>>> >>>> 06-26 21:47:33.929 I/System ( 1224): Failed to destroy process 1442 >>>> 06-26 21:47:33.929 I/System ( 1224): libcore.io.ErrnoException: kill >>>> failed: ESRCH (No such process) >>>> 06-26 21:47:33.929 I/System ( 1224): at libcore.io.Posix.kill(Native >>>> Method) >>>> 06-26 21:47:33.929 I/System ( 1224): at libcore.io.ForwardingOs.kill( >>>> **F**orwardingOs.java:77) >>>> 06-26 21:47:33.929 I/System ( 1224): at java.lang.ProcessManager$** >>>> Proce**ssImpl.destroy(**ProcessManager.**java:257) >>>> 06-26 21:47:33.929 I/System ( 1224): at >>>> com.nolanlawson.logcat.b.a.b(**U**nknown Source) >>>> 06-26 21:47:33.929 I/System ( 1224): at >>>> com.nolanlawson.logcat.reader.****LogcatReaderLoader.<init>(**Unkn**own >>>> Source) >>>> 06-26 21:47:33.929 I/System ( 1224): at >>>> com.nolanlawson.logcat.reader.****LogcatReaderLoader.a(Unknown Source) >>>> 06-26 21:47:33.929 I/System ( 1224): at com.nolanlawson.logcat.b.o.a( >>>> **U**nknown Source) >>>> 06-26 21:47:33.929 I/System ( 1224): at com.nolanlawson.logcat.b.f.** >>>> doI**nBackground(Unknown Source) >>>> 06-26 21:47:33.929 I/System ( 1224): at android.os.AsyncTask$2.call(* >>>> *As**yncTask.java:264) >>>> 06-26 21:47:33.929 I/System ( 1224): at java.util.concurrent.** >>>> FutureTas**k$Sync.innerRun(**FutureTask.**java:305) >>>> 06-26 21:47:33.929 I/System ( 1224): at java.util.concurrent.** >>>> FutureTas**k.run(FutureTask.**java:137) >>>> 06-26 21:47:33.929 I/System ( 1224): at java.util.concurrent.** >>>> ThreadPoo**lExecutor.runWorker(**ThreadPool**Executor.java:1076) >>>> 06-26 21:47:33.929 I/System ( 1224): at java.util.concurrent.** >>>> ThreadPoo**lExecutor$Worker.run(**ThreadPoo**lExecutor.java:569) >>>> 06-26 21:47:33.929 I/System ( 1224): at java.lang.Thread.run(Thread.* >>>> *ja**va:856) >>>> 06-26 21:47:34.099 W/InputManagerService( 145): Starting input on >>>> non-focused client com.android.internal.view.**IInp** >>>> utMethodClient$Stub$Proxy@**413e**a598 (uid=10048 pid=1224) >>>> 06-26 21:47:34.169 D/dalvikvm( 1224): GC_CONCURRENT freed 833K, 41% >>>> free 6819K/11527K, paused 2ms+18ms >>>> 06-26 21:47:34.209 V/TabletStatusBar( 212): setLightsOn(true) >>>> 06-26 21:47:34.499 D/dalvikvm( 1224): GC_CONCURRENT freed 526K, 41% >>>> free 6805K/11527K, paused 2ms+13ms >>>> 06-26 21:47:36.139 I/wpa_supplicant( 783): [CTRL_IFACE]SIGNAL_POLL >>>> 06-26 21:47:39.149 I/wpa_supplicant( 783): [CTRL_IFACE]SIGNAL_POLL >>>> 06-26 21:47:39.269 D/WindowManager( 145): statusbarShow mStatusBarShow >>>> = true >>>> 06-26 21:47:40.369 D/WindowManager( 145): statusbarShow mStatusBarShow >>>> = true >>>> 06-26 21:47:40.389 I/ActivityManager( 145): START >>>> {act=android.intent.action.**MAI**N >>>> cat=[android.intent.category.**L**AUNCHER] >>>> flg=0x10000000 pkg=com.acubeware.mobilesell cmp=com.acubeware.mobilesell/. >>>> ****activity.Splash bnds=[88,42][184,138]} from pid 337 >>>> 06-26 21:47:40.579 D/OpenGLRenderer( 337): Flushing caches (mode 1) >>>> 06-26 21:47:40.609 D/OpenGLRenderer( 337): Flushing caches (mode 0) >>>> 06-26 21:47:40.729 I/LicenseChecker( 1378): Binding to licensing >>>> service. >>>> 06-26 21:47:40.729 E/LicenseChecker( 1378): Could not bind to service. >>>> 06-26 21:47:40.729 W/ActivityManager( 145): Unbind failed: could not >>>> find connection for android.os.BinderProxy@**412593a**8 >>>> 06-26 21:47:40.739 E/Splash ( 1378): Application not licensed! >>>> >>>> Thanks. >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Android Developers" group. >>>> To post to this group, send email to android-d...@**googlegroups.com >>>> >>>> To unsubscribe from this group, send email to >>>> android-developers+**[email protected] >>>> For more options, visit this group at >>>> http://groups.google.com/**group/android-developers?hl=en<http://groups.google.com/group/android-developers?hl=en> >>>> >>> >>> -- >> You received this message because you are subscribed to the Google >> Groups "Android Developers" group. >> To post to this group, send email to [email protected] >> To unsubscribe from this group, send email to >> [email protected] >> For more options, visit this group at >> http://groups.google.com/group/android-developers?hl=en >> > > -- > You received this message because you are subscribed to the Google > Groups "Android Developers" group. > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected] > For more options, visit this group at > http://groups.google.com/group/android-developers?hl=en > -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

