一般的な監査の質問
多くの開発者は、次のような署名の問題が原因で拒否されたアプリケーションに遭遇したに違いないと思います。
-
新しいバージョンと既製のバージョンは異なる署名を持っています
-
アカウントのログイン、支払いプロンプトの署名、およびプラットフォームの構成に一貫性がない
-
PUSH障害、マップをロードできないなどの統合HMSの関連サービス、理由は証明書の指紋が一致しないためです
- アプリが棚に置かれた後は、異なるチャネルのアプリを更新できず、署名に一貫性がないことを示しています
などなど
そして、あなたは疑いを持っているに違いありません。あなたは明らかに同じ署名を持っていて、あなたのローカルテストに問題はありません。なぜそれらはHuaweiによってレビューされるとすぐに拒否されるのですか???上記の問題が発生した場合は、HuaweiAGCのアプリケーション署名サービスがアプリケーションに再署名していることが原因である可能性があります。
アプリの署名とは何ですか?
これらの質問を解決するには、最初にアプリケーション署名とは何かを理解する必要がありますか?
とにかく、インターネット上の多くの情報は、次の2つの点を覚えておいてください。
-
署名は非常に重要であり、アプリケーションには署名が必要であり、署名なしでリストすることは許可されていません。
- 署名は変更できません。変更すると、多くのことが台無しになり、証明書の指紋が変更され、認証が変更され、アプリケーションの更新が不可能になります。署名に依存する多くのサービスはとにかく利用できません。
したがって、開発者は通常、Android Studioまたはコマンドを使用して、アプリケーションを開発するときにアプリケーションに署名します。
AGCアプリケーション署名サービスとは何ですか?
そして、AGCアプリケーション署名サービスは何をしますか?率直に言って、AGCはアプリケーションに署名する別の方法を提供します!
2つの方法があります:
1つ目は、AGCがアプリケーションの新しい署名を完全に生成することです。署名は必ず変更され、宇宙で唯一のものです。
対応するインターフェースは次のように呼ばれます:「AGConnectにアプリケーション署名キーを作成および管理させてください」
なぜ新しいアプリケーションにのみ適用するのですか?前述のように、このメソッドAGCは新しい署名を生成します。すでにシェルフにアプリケーションがある場合、このメソッドを使用してシェルフ上のアプリケーションと同じシグネチャを生成することは不可能であるため、もちろん使用されません。
2つ目は、署名ファイルを自分でアップロードすることです。AGCは新しい署名を生成しませんが、アップロードした署名ファイルのみを使用してアプリケーションに署名します。新しい署名が何であるかについては、アップロードする内容によって異なりますが、AGCはそれを保持します。対応するインターフェースは、「キーと証明書のエクスポートとアップロード」と呼ばれます。
これは、特定のツールとコマンドを使用して署名をzipパッケージの署名ファイルにエクスポートしてからAGCにアップロードし、AGCがこの署名ファイルを使用してアプリケーションに署名することを意味します。したがって、シェルフにアプリケーションがある場合は、シェルフにあるアプリケーションと同じ署名ファイルを渡す必要があります。そうしないと、アプリケーションの新旧バージョンの署名に一貫性がなくなります。
このメソッドは現在検証機能をサポート していることに注意してください。送信された署名がオンシェルフバージョンと異なる場合、プロンプトが表示され、アップロードは許可されません。
たとえば、Android Studioを使用してローカルで署名したアプリケーションがあるとします。アプリケーションの署名がAであるとすると、AGCのアプリケーション署名サービスを使用して、最初の方法を選択すると、AGCは新しい署名Bを生成します。アプリがレビューと最終リリースのためにリリースされたときに、署名がBに変更されました。したがって、ローカルテスト中に署名がAであり、監査テスト中に適用される署名がBである可能性が非常に高くなります。
2番目の方法を選択する場合は、zip署名ファイルをアップロードする必要があります。zipファイルが署名Aによって生成される場合、アプリケーションがレビューおよびリリースのためにリリースされると、署名はAになります。Bによって生成される場合、署名はBになります。これはCによって生成され、署名はCです。とにかく、あなたが渡すものは最終的な署名です。
選び方は?
ですから、間違った選択をしたり、間違って送信したりしないでください。どのように選択すればよいですか?それは実際には非常に簡単です。
一般的に、新しいアプリケーションがHuaweiに掲載することのみを検討している場合は、最初の方法を選択します。複数のチャネルストアで起動する場合は、2番目の方法を選択し、他のストアと同じ署名ファイルをアップロードします。認証や支払いなどの一部のサービスが署名に依存している場合は、2番目の方法を選択してください。
アプリケーションがすでに棚にある場合は、アップロードする署名ファイルが棚にあるバージョンと同じである限り、2番目の方法のみを選択できます。
そういえば、元の質問に戻ると、間違った署名方法が選択されたか、間違った署名ファイルが送信されてアプリケーションの署名が変更された可能性があります。残念ながら、署名サービスが削除をサポートしていない場合、現在の解決策は、アプリケーションを削除して署名を削除し、アプリケーションを再作成し、正しい署名方法を選択して、正しい署名ファイルをアップロードすることだけです。
余談:
-
アプリケーション署名≠アプリケーション署名サービス。署名は必須です。アプリケーション署名サービスはオプションです。
-
APKパッケージはアプリケーション署名サービスを使用でき、AABパッケージを使用する必要があります。
- 署名が変更されると、対応する証明書のフィンガープリントも変更されるため、依存するサービスは新しい証明書のフィンガープリントを構成する必要があります。
詳細については、以下を参照してください。
AGCアプリケーション署名サービス:https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agc-app_bundle
元のリンク:https://developer.huawei.com/consumer/cn/forum/topicview?tid=0202381566447710293&fid=0101271690375130218
作成者:Drum Chao