ビルドタイプ(デバッグとリリース)を使用して、異なるスタイルとアプリ名を設定するにはどうすればよいでしょうか? 質問する

ビルドタイプ(デバッグとリリース)を使用して、異なるスタイルとアプリ名を設定するにはどうすればよいでしょうか? 質問する

背景

Android Studioでは、異なるビルドタイプがあり、それぞれに独自の構成があり、プロダクトフレーバーに似ています(ここ

問題

アプリをどこかにインストールするたびに、それを見ただけで、リリースかデバッグかのどちらのタイプであるかがすぐにわかるようにしたいです。

このためには、build.gradle ファイルを使用できると思います:

buildTypes {
    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
    debug {
        debuggable true
    }
}

問題は、そこに何を入れたらよいか分からないことです。アプリ名を変えたいのですが (文字列は翻訳されたまま文字列ファイルに残しておきたい)、アプリ内の何かのスタイルを変えたいのですが (たとえば、アクション バーの色)。

私は「resValue」を使用できることを発見しました(それについて調べましたここ) ですが、何らかの理由で、何をしてもコンパイルされません。

  • リソースがすでに宣言されている場合(翻訳されたアプリ名など)、リソースが重複していると表示されます。
  • リソースが宣言されていない場合、コード/XML 経由でアクセスすることはできません。

質問

ビルド タイプに異なるリソース値がすでに存在する場合でも、そのリソース値を使用するにはどうすればよいですか?

ベストアンサー1

ビルド タイプに異なるリソース値がすでに存在する場合でも、そのリソース値を使用するにはどうすればよいですか?

これらはすでにmainソースセットに存在します。関心のある他のビルド タイプ用のソースセットを追加し、必要なリソースをオーバーライドします。

例えば、このサンプルプロジェクトmainソースセットとソースセットがありますdebug。どちらもapp_nameに文字列リソースがありますres/values/strings.xmlが、値が異なります。debugビルドでは、debugリソースのソースセット バージョンが使用されます。その他のビルド (例: release) では、debugソースセットは完全に無視され、mainリソースのソースセット バージョンが使用されます。

私がそうすることに注意してくださいないソースセットが必要ですrelease。特にリソースをオーバーライドする場合は、これで問題ありません。ソースセットは、使用しているすべてのビルド タイプではなく、そのビルド タイプに対して何かを変更する場合にのみ必要です。

おすすめ記事