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

Reply via email to