如何使用不同的Java代码构建不同的风格apks?

时间:2018-06-13 06:06:40

标签: android android-studio gradle build

我知道我们可以通过在src中创建不同的目录来构建具有不同资源的不同风格的apks,但是现在我想要定制一些java代码,这可能吗?或者其他任何方式吗?

更新

我有一个包含100 * .java文件的项目,我有10种口味,但每种口味只有一个文件是自定义的,每个口味的文件不是同一个文件,所以我必须把这10个文件放入每个风味,一旦修改了10个文件中的文件,我将不得不修改其他风格的同一文件,项目如下:

+ App |- src |- main |- java |- path |- A.java(can't be here) |- B.java(can't be here) |- C.java(can't be here) |- D.java(can't be here) |- E.java(can't be here) |- F.java(can't be here) |- G.java(can't be here) |- Others.java + res |- flavorA |- java |- path |- A.java(customized) |- B.java |- C.java |- D.java |- E.java |- F.java |- G.java + res |- flavorB |- java |- path |- A.java |- B.java(customized) |- C.java |- D.java |- E.java |- F.java |- G.java + res |- flavorC |- java |- path |- A.java |- B.java |- C.java(customized) |- D.java |- E.java |- F.java |- G.java + res |- flavorD |- java |- path |- A.java |- B.java |- C.java |- D.java(customized) |- E.java |- F.java |- G.java + res |- flavorE |- java |- path |- A.java |- B.java |- C.java |- D.java |- E.java(customized) |- F.java |- G.java + res |- flavorF |- java |- path |- A.java |- B.java |- C.java |- D.java |- E.java |- F.java(customized) |- G.java + res |- flavorG |- java |- path |- A.java |- B.java |- C.java |- D.java |- E.java |- F.java |- G.java(customized) + res

1 个答案:

答案 0 :(得分:2)

是的,您可以为不同的产品风格使用不同的java类,因此您的项目结构将如下图所示。

enter image description here

这对我有用。

+ App
|- src
    |- main
      |- java
          |- path
             |- A.java
             |- B.java
             |- C.java
             |- D.java
             |- E.java
             |- F.java
             |- G.java
             |- Others.java
      + res
   |- flavorA 
      |- java
          |- path
             |- A.java(customized)
      + res
    |- flavorB 
      |- java
          |- path
             |- B.java(customized)
      + res
    |- flavorC 
      |- java
          |- path
             |- C.java(customized)
      + res
    |- flavorD
      |- java
          |- path
             |- D.java(customized)
      + res
    |- flavorE
      |- java
          |- path
             |- E.java(customized)
      + res
    |- flavorF
      |- java
          |- path
             |- F.java(customized)
      + res
    |- flavorG
      |- java
          |- path
             |- G.java(customized)
      + res

您必须如上所述添加文件结构。您必须在主目录中添加所有文件,并且只需要根据风格添加修改后的文件。如果您将更改A.java而不是将来更新所有类型的每个A.java,那么您将把每个文件放在各种风格中。

所以最好在主目录中添加所有文件,只需按照风格添加修改后的文件。