2017-05-26 5 views
32

によって生成 /release/output.jsonは何ですか。 は私が<code>Build</code>を実行して、私は最近、Androidのメーカー3カナリー1ずつ<code><module>/release/output.json</code>で生成された新しいファイルを気づいたアンドロイドメーカー

誰もこの動作を確認できますか?それとも、私のラップトップのローカル設定に起因するのでしょうか?

誰もこのファイルの目的を説明できますか? .gitignoreに追加することは安全ですか?

[{ 
    "outputType": { 
    "type": "APK" 
    }, 
    "apkInfo": { 
    "type": "MAIN", 
    "splits": [], 
    "versionCode": 32 
    }, 
    "outputFile": { 
    "path": "/path/to/the/generated/release/filename.apk" 
    }, 
    "properties": { 
    "packageId": "com.example.android", 
    "split": "" 
    } 
}] 
+1

通常の設定では、サーバー上に置いたり、アップデートがあれば古いバージョンのアプリケーションからチェックしたり、ユーザーに通知したり、ウェブサイトの現在のバージョンなどに表示することができます。 –

答えて

7

このoutput.jsonファイルについて心配する必要はありません。 Androidスタジオ3.0はこのファイルを担当しています。

私にあなたにこれを説明させてください。旧バージョンの場合アンドロイドスタジオは署名されたAPKを生成し、それを「出力」フォルダに入れました。たとえあなたのapkのフレーバーディメンションが複数あったとしても、出力フォルダーと同じディレクトリに配置することができます。アンドロイドスタジオ3.0(canary and stable)の最新リリースから、彼らはこのファイル構造を整理しました。 APKに署名するたびに、すべてのフレーバーディメンションに対して、output.jsonファイルを含む別のフォルダが作成されます。このファイルには、実際には送信元APKの説明だけが表示されます。ここで共有しているファイルが表示されている場合は、リリースされたAPKを説明しています。

+0

このフォルダとファイルの生成を無効にし、すべてのフレーバAPKを出力フォルダに保存しますか? – chitgoks

+0

output.jsonを無効にする方法はまだ分かりません。すべての味付けされた署名付きapkは、その上にフレーバー名を持つ別のフォルダを持ちます。過去にはすべてのapkが生成され、出力フォルダ@chitgoksに配置されました –

+1

はい、正しいです。私はそれがなぜ出力フォルダに置かれるオプションを持っていないけれどもそれは迷惑であると思う。私はその動作が chitgoks

2

ouput.jsonファイルは、生成されたAPKの種類のメタデータファイルです。このファイルは、さまざまな理由で生成されます。私は、ユースケースのすべてをリストしない場合がありますされ、そのうちのいくつかを発見したが、ここでは、リストのいる:Generate Signed APK

{module}/build/intermediates/manifest/androidTest/debug/ouput.json 
  • AndroidManifest.xmlファイルを生成

  • を実行したときに生成

    1. ユニットテストではではなく、が生成されますが、AndroidTests(実行されるAndroidフレームワークに依存します)に対してのみ生成されます

    2. 上記の指定された場所にAndroidManifest.xmlのファイルoutput.jsonが生成されましたが、上記のとおりAPKの場合と少し異なります。
    3. output.jsonで記述されているプロパティは、通常build.gradleファイルで指定されているプロパティと非常によく似ているため、構築プロセスが正常に動作するためには&を使用する必要があります。ビルドが成功し、必要なプロパティをbuild.gradleから抽出した結果)。この際

    、我々はそれが確かにそれは、APKまたはマニフェストファイルの詳細/情報を記述することが関係している&を生成するAndroidのフレームワークに依存していることを結論付けることができます。

    • 私は個人的にも、Androidデベロッパーのウェブサイト上でこれに対する適切な答えを見つけるグーグル&に試してみましたが、何も詳細にこのファイルについての文書化されていないようです。私はGitHubの&上でいくつかのプロジェクトをチェックした

    • が同じため.gitignoreファイルをチェックし、私はGitHubの上でホストされているプロジェクトのいずれかに類似したoutput.jsonファイルのいずれかを見つけることができませんでした。だからあなたのコミットでそれらを除外するのがよい習慣であるべきです。

    • 要するに、このファイルは、プロジェクトに関する重要なメタデータを含む説明的なファイルです。それは理由のためにそこになければなりません。我々はそれがをもたらすことができるかわからないように私は私がoutputFileNameの先頭に../../を追加

    +0

    いい研究ですが、必要がない場合はファイルを削除するのが安全だと付け加えたいと思います。 – Stan

    0

    。ない、それを台無しにあなたを示唆している、とAPKファイルがoutputフォルダに入れて

    android{ 
        applicationVariants.all { variant -> 
         variant.outputs.all { output -> 
          output.outputFileName = "../../output_name.apk" 
         } 
        } 
    } 
    
    関連する問題

     関連する問題