【问题标题】:NullPointerException in google market licensing谷歌市场许可中的 NullPointerException
【发布时间】:2013-10-12 01:17:31
【问题描述】:
10-11 23:44:04.220 E/AndroidRuntime(15090): java.lang.NullPointerException
10-11 23:44:04.220 E/AndroidRuntime(15090):     at com.android.vending.licensing.LicenseValidator.verify(LicenseValidator.java:101)
10-11 23:44:04.220 E/AndroidRuntime(15090):     at com.android.vending.licensing.LicenseChecker$ResultListener$2.run(LicenseChecker.java:213)
10-11 23:44:04.220 E/AndroidRuntime(15090):     at android.os.Handler.handleCallback(Handler.java:615)
10-11 23:44:04.220 E/AndroidRuntime(15090):     at android.os.Handler.dispatchMessage(Handler.java:92)
10-11 23:44:04.220 E/AndroidRuntime(15090):     at android.os.Looper.loop(Looper.java:137)
10-11 23:44:04.220 E/AndroidRuntime(15090):     at android.os.HandlerThread.run(HandlerThread.java:60)

public void verify(PublicKey publicKey, int responseCode, String signedData, String signature) {
    String userId = null;
    // Skip signature check for unsuccessful requests
    ResponseData data = null;
    if (responseCode == LICENSED || responseCode == NOT_LICENSED ||
            responseCode == LICENSED_OLD_KEY) {
        // Verify signature.
        try {
            Signature sig = Signature.getInstance(SIGNATURE_ALGORITHM);
            sig.initVerify(publicKey);
            sig.update(signedData.getBytes());

你知道如何忽略这种异常吗,这只发生在某些设备上。因此用户无法获得许可证。我发现我的 market_licensing 库还是 1.0,但是我找不到 2.0 或更高的。请帮帮我。

【问题讨论】:

    标签: android google-play android-lvl


    【解决方案1】:

    您能否将方法的内容包含在 NullPointers 的 try/catch 中?不理想,但它会给你一个快速的补丁,让你通知用户有问题而不是崩溃,直到你找到永久修复。

    【讨论】:

    • 我添加这个: if(signedData == null) return;但我认为用户仍然未能获得许可证。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多