我正在实现基本的使用安卓计费购买v3使用IabHelper和我仍然遇到这个问题,当我在实际设备上测试。我第一次运行和成功购买后,我消费的产品。现在我一次又一次地收到错误。
我已经检查了我的公钥(甚至使用不同的编码),所以我不认为这是问题所在。在测试静态响应之后,我已经使用了所有的android.test.*产品。我还试图在verifyPurchase中编辑Security.java方法,但似乎在调用PublicKey key = Security.generatePublicKey(base64PublicKey);时发生了错误。
有人成功解决了这个问题吗?
下面是错误的日志:
java.lang.IllegalArgumentException: java.security.spec.InvalidKeySpecException: java.lang.RuntimeException: error:0c0890ba:ASN.1 encoding routines:asn1_check_tlen:WRONG_TAG
at com.hubsante.nutrition.utils.util.Security.generatePublicKey(Security.java:82)
at com.hubsante.nutrition.utils.util.Security.verifyPurchase(Security.java:62)
at com.hubsante.nutrition.utils.util.IabHelper.queryPurchases(IabHelper.java:972)
at com.hubsante.nutrition.utils.util.IabHelper.queryInventory(IabHelper.java:624)
at com.hubsante.nutrition.utils.util.IabHelper$2.run(IabHelper.java:698)
at java.lang.Thread.run(Thread.java:818)发布于 2017-06-06 09:30:01
可能var base64publickey长度或格式无效。
发布于 2017-06-07 12:06:36
看来公钥的格式是不正确的,我纠正了它,现在它开始工作了。
https://stackoverflow.com/questions/44386151
复制相似问题