编程语言
首页 > 编程语言> > android – Lollipop 5.0示例许可检查应用程序在模拟器(AVD)上崩溃

android – Lollipop 5.0示例许可检查应用程序在模拟器(AVD)上崩溃

作者:互联网

当运行Google在sdk / extras / google / play_licensing中提供的示例许可证检查应用程序时,它会在运行Lollipop(5.0)的模拟器(AVD)上崩溃(我没有运行5.0的手机).它在运行Kitkat的手机上运行良好.

在4.4 Kitkat上,它给出了一个警告

Implicit intents with startService are not safe: Intent { act=com.android.vending.licensing.ILicensingService } 

android.content.ContextWrapper.bindService:538 com.google.android.vending.licensing.LicenseChecker.checkAccess:150 LicActivity.doCheck:126 

我不确定5.0他们是否已将其从警告移至完全爆炸错误.

我不知道如何将隐式intent调用转换为显式调用.
它在LicenceChecker类中被调用

   boolean bindResult = mContext
                            .bindService(
                                    new Intent(
                                            new String(
                                               Base64.decode("HEX_TEXT"))),
                                    this, // ServiceConnection.
                                    Context.BIND_AUTO_CREATE);

BASE 64解码为com.android.vending.licensing.ILicensingService

我刚收到错误消息不幸的是,许可证检查程序已停止.在对话框中.

它在logcat中显示此消息

java.lang.RuntimeException: Unable to instantiate application com.android.vending.VendingApplication: java.lang.ClassNotFoundException:

 Didn't find class "com.android.vending.VendingApplication" on path: DexPathList[[zip file "/system/app/LicenseChecker/LicenseChecker.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]

有人报道了一段时间但仍然没有解决方案

http://code.google.com/p/android/issues/detail?id=61680

解决方法:

添加

intent.setPackage("com.android.vending");

到您的Intent确保它是Android 5.0所要求的明确意图.

标签:android,android-intent,android-5-0-lollipop,android-lvl
来源: https://codeday.me/bug/20190717/1490180.html