web-dev-qa-db-ja.com

Androidリリースおよびデバッグビルドの個別の文字列値

アプリをリリースするたびに、すべてのrl stringsと一部のkeysをテストから本番環境に変更します。私が行う方法は、リリースする前にテスト文字列をコメント化することです。ビルドタイプに基づいて文字列を処理するより良い方法はありますか?

19
spaceMonkey

Android Studioを使用すると、デフォルトでシステムは基本的なreleaseおよびdebugフレーバーを作成します。したがって、プロジェクトのapp/srcフォルダーにdebugおよびreleaseフォルダーを追加すると、宣言できますそこで別の値。

したがって、構造は次のようになります。

project
  -app
    -src
      -debug
        -Java
          ...
        -res
          -values
            -strings.xml
      -release
        -Java
          ...
        -res
          -values
            -strings.xml
      -main
        -Java
          ...
        -res
          -values
            -strings.xml

また、debugまたはreleaseフォルダーのいずれかで定義されていない文字列がある場合、mainフォルダーにフォールバックすることも追加する必要があります。

Build.gradleで2つのフレーバーを作成するだけです。次に、2つのディレクトリ(リンク( developer.Android.com/tools/building/configuring-gradle.html )に記載されています)。変更する必要があるのは文字列だけなので、strings.xmlファイルを新しいディレクトリ(つまり、devおよびproduction)にコピーするだけです。元のstrings.xmlを削除します。

以上です。 :)

Javaファイルまたは他のレイアウトファイルを移動する必要はありません。

要するに、すべてのビルドフレーバーで一貫している必要があるすべてを「メイン」ディレクトリに残します。ビルドフレーバーに依存する値をそれぞれのディレクトリに上書きします。

1
Rusheel Jain