2016-08-10 89 views
12

私はアンドロイドスタジオだけでなく、アンドロイドも新しくなっています。 Visual Studioでの私の経験から、別のマシンで.exeをテストすると、リリースフォルダと.exeがコピーされます。デバッグとリリースapkの違い

しかし、アンドロイドスタジオで私の同僚がUSBドライブを使用して他のシステムにコピーして展開することでデバッグAPKをテストしているのを見ています。また働いているようだ。 そのバージョンを展開した結果、何がわかりますか?リリースバージョンはプレイストア目的のみに関連していますか?

デバッグ情報にはデバッグ情報が含まれているため、技術的な違いは何ですか?遅くてかさばりますか?

+0

名前からわかるように、私たちのIDEでは、デバッグ可能なapkのデバッグが可能です。私たちのapp.Also release apkには、開発者自身のパスで署名されたキーストアが署名されています。 –

答えて

6

重要な違いの1つは、リリースAPKは通常、ProGuard(コード縮小)を実行して、未使用コードを検出して削除してAPKサイズを削減することです。 Shrink Your Code and Resourcesから

あなたが可能な場合は、あなたのデバッグビルドでそれを使用して避ける必要がありますので、コードの縮小は、ビルド時間が遅くなることに注意してください。ただし、テスト用の最終的なAPKでコードを縮小できるようにすることが重要です。これは、保持するコードを十分にカスタマイズしていないとバグが発生する可能性があるためです。

デバッグAPKではなく、リリースAPKをビルドするのにかなり時間がかかるため、同僚はおそらくデバッグビルドタイプをテストしている可能性があります。

+4

あなたはデバッグビルドのためにproguardを有効にすることもできます – AndroidMechanic

1

デバッグビルドとリリースビルドの間の唯一の相違点(build.gradleに別途指定されている)は、署名されたキーです。ほとんどのアプリ配信チャンネルは、開発者を認証するためにリリースキーで署名されたアプリが必要になります。それ以外の場合は、違いはありません。

しかし、これらの2つのバージョンの間には多くの変更があります。これらは、ご使用のbuild.gradleに指定する必要があります。だから、そこに目を留めておくべきです。

5

の主な違いは、デバッグフラグと署名鍵です:デバッグのために

  • はAPKを有効にし、デバッグフラグをデフォルトのデバッグ署名鍵で署名されるビルドします。

  • リリースキーの場合、署名するキーを明示的に指定する必要があり、デバッグフラグはオフになり、デバッグできません。

  • リリースビルド用にProguardをオンにすることができます。 (デバッグビルドでも、アドバイスされていません)。この手順は明示的に行う必要があり、デフォルトではfalseです。

注:これらの事はあなたのbuild.configで変更することができ、あなたが望む順列今まで何をして組み合わせを選択することができます。

+0

上記のすべての回答からわかるように、私は、デバッグビルドは実際には完全に自己完結型のapkバージョンであり、いくつかのコード圧縮/最適化/縮小と開発者認証が欠けています。 この結論が間違っている場合は、ありがとうございます。 – user2454516

+1

はい、apk署名は、私がプロダクションでリリースするときに最も重要なことです。両方のビルドタイプに他のものを適用することができます。 – AndroidMechanic

+0

* "デバッグフラグをオフにしてデバッグできないようにする" * ... "デバッグビルド"は他の人がデバッグできるという意味ですか?そして彼らはアプリのコードにアクセスしますか? – Shafizadeh

関連する問題