2017-02-27 77 views
0

我要构建Android应用(应用,应用2,程序App3和等 - 在gradle这个产品口味实现这一点)从我的单一源代码。
1. App1,App2,App3等有一些功能。功能上相同,但UI可以针对每个应用不同
2.特点是模块。功能可以通过gradle scrip(flavor)添加。如何在android中添加动态UI模块?

我的问题是,我确定与功能。我如何动态添加UI模块?

+0

尽量让不同的资源目录为每个口味。 –

+0

@RaphaelTeyssandier功能可能会有所不同,每个应用程序。片段不适用于所有应用程序。例如Point1)App1 - Screen1具有F1和F2功能。 Point2)App2 - Screen1有F1,Screen2有F2。 –

+0

同样的方法,你可以在每一个风格上都有相同的片段,但是里面的代码不同。如果你想要一个例子告诉我。 –

回答

0

因此类会在每次的味道,但不是在你的主应用程序,或者你会得到一个Duplicate class error。布局相同。

摇篮

productFlavors { 
     manual_count { 
      applicationId "com.example.example.app.manual_count" 
     } 

     manual_sensor { 
      applicationId "com.example.example.app.manual_sensor" 
     } 
    } 

    sourceSets { 
     manual_count { 
      res.srcDirs = ['/src/main/res', 'src/manual_count/res', 'src/manual_count/res/'] 
     } 

     manual_sensor { 
      res.srcDirs = ['/src/main/res', 'src/manual_sensor/res', 'src/manual_sensor/res/'] 
     } 
    } 

ProjectStructure

enter image description here

为了做到这一点:

  • 你的味道目录中右击,然后New - >Folder - >Java Folder - >Finish(里面,你会把你的代码片段)
  • 你的味道目录的右键点击即可New - >Folder - >Res Folder - >启用Change Folder Location - >Finish
  • 确保添加主res目录在sourceSets(见下面的例子)
  • 创建layoutvalues,等等...做:右击你的资源味道目录 - >New - >Directory - >把资源目录的名称(layoutvalues,......)
  • 创建布局文件,右键单击layout目录 - >New - >Layout resources File