0

今年早些時候,我發佈了一個客戶端應用程序,我們使用了flavor的尺寸。我們有超過2個維度的產品Flavors

  Full | Preview 
Apple | Apple | Apple.Preview 
Orange | Orange | Orange.Preview 

這工作完美。但現在我需要將Banana作爲另一個應用程序添加到項目中,並且事情變得混亂。

在完整版本中,我有一些功能由現有版本共享,我希望完全從新應用程序中排除現有版本。有一些資源可以很好地移除,但由於這些資源很小,所以我並不擔心它。我也寧願避免BananaFullPreview版本,但如果我不能這樣做,那就沒問題。 我真的需要做的是將AppleOrange中的一些文件以及其他所有文件分組。3.有點像製作第三維。有任何建議嗎?

回答

0

首先,爲不同的文件,使用productFlavorsGradle

apple{ 
     applicationId "com.android.apple" 
     buildConfigField "String", "MY_DISTINC_STUFF", "APPLE" 
    } 

    orange{ 
     applicationId "com.android.orange" 
     buildConfigField "String", "MY_DISTINC_STUFF", "ORANGE" 
    } 

    banana{ 
     applicationId "com.android.banana" 
     buildConfigField "String", "MY_DISTINC_STUFF", "BANANA" 
    } 

如果你想使用該字符串,用這個BuildConfig.MY_DISTINC_STUFF

第二,如果你想組可以使用一些文件1,2或全部。你必須這樣做。

  1. src文件夾
  2. 它命名爲您在build.gradle(應用層)定義下創建3個文件夾。例如:文件夾apple,文件夾orange,文件夾bananaDON'T刪除您的主文件夾
  3. 如果您想對所有文件使用同一個文件,請將該文件添加到main文件夾中。 (不關心其他3個)
  4. 如果您想要爲不同的文件夾使用不同的文件,請創建名稱爲same但名稱爲different folder的4個文件。
  5. 運行時,請選擇合適的Build Variants

Android Runtime將決定哪個文件必須加載。

+0

預覽和完整擴展的工作方式如何?那些人也有資源。 –

+0

在不同的地方創建相同的資源文件夾:預覽和完整。但是,你試過了嗎? –

+0

我最終通過創建第三個維度來開展工作:Team。我沒有把它想好。 –