Android Signed APKを本番環境にアップロードしようとすると、Unsigned APKと表示される
Android Studio 2.3でAPKに署名しました(build->generate signed APK)。GooglePlayストアにアップロードしようとすると、署名されていないAPKをアップロードしたというエラーが表示されます。どなたか原因と解決方法を教えてください。
67
7
Android Studio 2.3で署名付きAPKを生成する際、V2 (Full APK Signature)ではなく、V1 (Jar Signature)をチェックしたところ、正常にアップロードされました。
Android 7.0はAPK署名スキームv2を導入しています。これは、アプリのインストール時間を短縮し、APKファイルへの不正な変更に対する保護を強化する新しいアプリ署名スキームです。
署名されたapkを生成している間、2つのチェックボックスがあります。 .
1。 V1(瓶署名)。 2。 V2(完全なapk署名)。
3つの選択肢があります。
1。 V1を選択します(古いバージョンの署名の場合)-apkが正常にアップロードされます。
2。 V2を選択します(新しいバージョンの署名の場合)-これだけでは機能しないことに注意してください。
3。 V1とV2を選択します(古いバージョンと新しいバージョンの場合)-apkが正常にアップロードされます。
V2のみを選択しても機能しない理由。 ?。
APK Signature Scheme v2がAndroid 7.0(Nougat)で導入されたためです。 APKをAndroid 6.0(Marshmallow)および古いデバイスにインストールできるようにするには、v2スキームと署名する前に、JAR署名を使用してAPKに署名する必要があります。。
詳細については、ここにジャンプ。
v1 と v2 の両方に署名。 正常にアップロードされます。
これは、リリースビルドを取得しているときにv2シグネチャのみを使用しているためです。
したがって、v1とv2については何が言及されています?
v1はデフォルトの署名メカニズムであり、v2は追加された最新のメカニズムであり、はるかに速く検証されます。 これは、v2署名のAPKがAndroid Nougat(Android 7.0、APIレベル24)でより速くインストール/更新されることを意味します。
だからあなたは何をすべきですか?
デフォルトであるv1(jar署名のみ)を確認します。
v2(完全なApk署名)を確認してください。これにより、アプリのサイズも小さくなります。
v1とv2の両方を確認します。
PS:パイプのビルド以外で、Studioでアプリに署名する場合にのみ適用されます。
より多くのレフリースのためにリンク。
V2を使用してAPKに署名する方法
https://developer.android.com/studio/command-line/apksigner.html
ステップ1) Android Studioの「ツールウィンドウ」から「ターミナル」を選択します。
注: apksignerツールを使用するには、Android SDK Build Toolsのリビジョン24.0.3以降がインストールされている必要があります。このパッケージはSDK Managerを使ってアップデートできます。
Note: Step 2 to 4 Perform in Command Prompt G:◆AndroidStudio ◆Sdk ◆build-tools
これに到達した場合は、Android Studio 3.3を使用します。署名チェックボックスをチェックするかどうかに関係なく、エラーが発生し続けます。app/ buildフォルダーを手動で削除してみてください。
出典:https://stackoverflow.com/a/54213942/787511。
Googleの問題で、2日前にこのページで発表されている。