Androidのアプリ内課金でテストアプリを実装しました。私はSecurity.javaファイルの公開鍵を埋めました。すべて動作しますが、支払いを提出するとアプリがクラッシュします。私はこのコードのビットに対応し、「署名検証に失敗しました」と言うLogCatでエラーが発生し、受信:Androidアプリ内課金:Security.javaは「署名検証に失敗しました」と答えています
if (!sig.verify(Base64.decode(signature))) {
Log.e(TAG, "Signature verification failed.");
return false;
}
私が代わりに戻り偽の真返すようにそのビットを変更すると、すべてが正常に動作します - 私は提出することができます私はおそらくそれを変更する必要がありますので、他の何かが間違っていると仮定しています。
これを引き起こす可能性のあることについてのアイデアはありますか?
1.- 間違った公開鍵:署名検証エラーがによって引き起こされることを
テストデバイスにプッシュするAPKの値は、デベロッパーコンソールにアップロードしたAPKと同じバージョン値である必要があります。デベロッパーコンソールでAPKのバージョンが更新されるまでに最大6時間かかることがあります。 –
Base64PublicKeyはIabHelperに渡されるパラメータですが、Security.javaには定義されていません – 18446744073709551615
署名、アップロード、待機などを必要とせずに課金統合フローを簡単に開発する方法はありませんか?私はテストができるだけ近い生産として行われるべきだが、開発サイクルが長く続くことに同意する。私が誤ってifまたはNPEを誤って実行した場合、私は出版の全段階をもう一度やり直す必要があります! –