谷歌市场许可中的NullPointerException

时间:2013-10-12 01:17:31

标签: android google-play android-lvl

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或更高版本。请帮助我。

1 个答案:

答案 0 :(得分:0)

你可以在try / catch中为NullPointers包含方法的内容吗?不理想,但它会给你一个快速补丁,让你通知用户有什么不对,而不是崩溃,直到你找到永久修复。