Android模拟器问题上的市场许可API

我有一个使用许可证检查API的 Android应用程序.我已经使用适用于API级别8,9和10的Google Api设置了模拟器AVD.我的应用程序在8级AVD上运行良好但在9级和10级AVD上失败.这是一个典型的logcat序列:
02-14 17:43:55.815: INFO/LicenseChecker(448): Binding to licensing service.
02-14 17:43:55.935: WARN/ActivityManager(65): Unable to start service Intent { act=com.android.vending.licensing.ILicensingService }: not found
02-14 17:43:55.935: ERROR/LicenseChecker(448): Could not bind to service.
02-14 17:44:00.625: INFO/ActivityManager(65): displayed com.zigzagworld.tehillim/.Tehillim: +2m1s448ms (total +5m43s546ms)
02-14 17:44:01.085: INFO/ARMAssembler(65): generated scanline__00000177:03515104_00001002_00000000 [ 87 ipp] (110 ins) at [0x439de6f0:0x439de8a8] in 5603158 ns
02-14 17:44:18.025: INFO/InputReader(65): Device reconfigured: id=0x0,name=qwerty,display size is Now 320x480
02-14 17:44:18.025: WARN/InputReader(65):   Touch device did not report support for X or Y axis!
02-14 17:44:19.005: WARN/InputManagerService(65): Window already focused,ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@40945580
02-14 17:44:20.805: ERROR/ActivityThread(448): Activity com.zigzagworld.tehillim.Tehillim has leaked ServiceConnection com.android.vending.licensing.LicenseChecker@4051ba58 that was originally bound here
02-14 17:44:20.805: ERROR/ActivityThread(448): android.app.ServiceConnectionLeaked: Activity com.zigzagworld.tehillim.Tehillim has leaked ServiceConnection com.android.vending.licensing.LicenseChecker@4051ba58 that was originally bound here
02-14 17:44:20.805: ERROR/ActivityThread(448):     at android.app.LoadedApk$Servicedispatcher.<init>(LoadedApk.java:938)
02-14 17:44:20.805: ERROR/ActivityThread(448):     at android.app.LoadedApk.getServicedispatcher(LoadedApk.java:833)
02-14 17:44:20.805: ERROR/ActivityThread(448):     at android.app.ContextImpl.bindService(ContextImpl.java:864)
02-14 17:44:20.805: ERROR/ActivityThread(448):     at android.content.Contextwrapper.bindService(Contextwrapper.java:347)
02-14 17:44:20.805: ERROR/ActivityThread(448):     at com.android.vending.licensing.LicenseChecker.checkAccess(LicenseChecker.java:143)
02-14 17:44:20.805: ERROR/ActivityThread(448):     at com.zigzagworld.tehillim.Tehillim.onCreate(Tehillim.java:76)
02-14 17:44:20.805: ERROR/ActivityThread(448):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
02-14 17:44:20.805: ERROR/ActivityThread(448):     at android.app.ActivityThread.performlaunchActivity(ActivityThread.java:1586)
02-14 17:44:20.805: ERROR/ActivityThread(448):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1638)
02-14 17:44:20.805: ERROR/ActivityThread(448):     at android.app.ActivityThread.access$1500(ActivityThread.java:117)
02-14 17:44:20.805: ERROR/ActivityThread(448):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:928)
02-14 17:44:20.805: ERROR/ActivityThread(448):     at android.os.Handler.dispatchMessage(Handler.java:99)
02-14 17:44:20.805: ERROR/ActivityThread(448):     at android.os.Looper.loop(Looper.java:123)
02-14 17:44:20.805: ERROR/ActivityThread(448):     at android.app.ActivityThread.main(ActivityThread.java:3647)
02-14 17:44:20.805: ERROR/ActivityThread(448):     at java.lang.reflect.Method.invokeNative(Native Method)
02-14 17:44:20.805: ERROR/ActivityThread(448):     at java.lang.reflect.Method.invoke(Method.java:507)
02-14 17:44:20.805: ERROR/ActivityThread(448):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
02-14 17:44:20.805: ERROR/ActivityThread(448):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
02-14 17:44:20.805: ERROR/ActivityThread(448):     at dalvik.system.NativeStart.main(Native Method)
02-14 17:44:20.835: WARN/ActivityManager(65): Unbind Failed: Could not find connection for android.os.BinderProxy@40774fd0

(我已经验证我的测试帐户已在所有模拟器中设置,并且我已设置开发人员控制台以返回测试帐户的LICENSED响应.)在完成dontAllow()之后发生关于泄漏连接的错误在我的LicenseCheckerCallback中处理.

我的代码很香草.我在onCreate()中运行以下命令:

String deviceid = Secure.getString(getContentResolver(),Secure.ANDROID_ID);
AESObfuscator ob = new AESObfuscator(SALT,getPackageName(),deviceid);
LicenseChecker checker = new LicenseChecker(this,new ServerManagedPolicy(this,ob),BASE64_PUBLIC_KEY);
checker.checkAccess(this);

API 8之后的许可代码是否发生了变化?有没有其他人能够在API 8以外的任何其他方面测试许可?

更新:Google提供的Market Licensing Sample应用程序也会出现同样的问题.

解决方法

无法绑定到服务通常意味着您尚未在Manifest中声明该服务.

Read up here

您的次要错误

Activity com.zigzagworld.tehillim.Tehillim has leaked ServiceConnection com.android.vending.licensing.LicenseChecker@4051ba58 that was originally bound here

意味着您的服务正在泄漏,您是否在活动结束后将其拆除?

@Override
protected void onDestroy() {
    super.onDestroy();
    checker.onDestroy();
    ...
}

参考:cleanup api

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


这篇“android轻量级无侵入式管理数据库自动升级组件怎么实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定...
今天小编给大家分享一下Android实现自定义圆形进度条的常用方法有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文...
这篇文章主要讲解了“Android如何解决字符对齐问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Android...
这篇文章主要介绍“Android岛屿数量算法怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Android岛屿数量算...
本篇内容主要讲解“Android如何开发MQTT协议的模型及通信”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Andro...
本文小编为大家详细介绍“Android数据压缩的方法是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Android数据压缩的方法是什么”文章能帮助大家解决疑惑...
这篇“Android怎么使用Intent传大数据”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅...
本文小编为大家详细介绍“Android事件冲突怎么解决悬浮窗拖拽问题”,内容详细,步骤清晰,细节处理妥当,希望这篇“Android事件冲突怎么解决悬浮窗拖拽问题”文...
这篇文章主要介绍了Android拼接如何实现动态对象的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Android拼接如何实现动态对象文...
今天小编给大家分享一下Android全面屏适配怎么实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下...
本篇内容介绍了“Android怎么开发Input系统触摸事件分发”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何...
今天小编给大家分享一下AndroidRoom怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下...
本文小编为大家详细介绍“AndroidRoom使用方法有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“AndroidRoom使用方法有哪些”文章能帮助大家...
这篇文章主要介绍“Android中的OpenGL怎么配置使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Android中的Open...
这篇文章主要介绍了Android如何自定义自动识别涂鸦工具类的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Android如何自定义自动...
今天小编给大家分享一下Android如何自定义有限制区域的图例角度自识别涂鸦工具类的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以...
今天小编给大家分享一下ReactNative错误采集原理在Android中如何实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章...
这篇文章主要讲解了“Android崩溃日志收集和保存代码分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“A...
这篇“Android面向单Activity开发实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大...
本篇内容介绍了“Android应用启动白屏处理的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何...