gpt4 book ai didi

安卓 flavor :Applying only flavor specific code to a source set

转载 作者:行者123 更新时间:2023-11-29 22:57:17 31 4
gpt4 key购买 nike

我在使用源代码集时遇到了一些麻烦,我有一个包含大部分常用代码的主要源代码集,但是之前的开发人员包含了一个构建风格开关,例如:

    if (Application.inKiosk) {
navigation.visibility = View.INVISIBLE
val employeeSelectionFragment = EmployeeSelectionFragment()
employeeSelectionFragment.setAllList(employees)
employeeSelectionFragment.setCallback(employeeSelected)
supportFragmentManager.beginTransaction().add(R.id.small_container, employeeSelectionFragment, "EmployeeSelectionFragment").commitNow()
currentTimeRecord = TimeRecord()
} else {
setupTimeRecords(employees!!.first()!!.id, savedInstanceState == null)
}

我想提取这个 flavor 特定的 block 并将其包含在它自己的源集文件夹中。我无法访问普通成员,例如导航。我将如何提取这一部分?

        navigation.visibility = View.INVISIBLE
val employeeSelectionFragment = EmployeeSelectionFragment()
employeeSelectionFragment.setAllList(employees)
employeeSelectionFragment.setCallback(employeeSelected)
supportFragmentManager.beginTransaction().add(R.id.small_container, employeeSelectionFragment, "EmployeeSelectionFragment").commitNow()
currentTimeRecord = TimeRecord()

最佳答案

在产品口味之间拆分代码的基本方法是:

  • 在一个维度中设置 2+ 种口味

  • 为每一种口味创建源集(src/flavorOne/src/flavorTwo/)

  • 用这两种风格定义一些类

  • 让该类实现提供您正在寻找的每种风格功能的功能(例如,一种风格中的 setupTimeRecords(),另一种风格中的信息亭内代码)

  • 让您的main 源代码集使用该类并调用该函数

Gradle 将从风格的源集中为您正在构建的任何构建变体引入类的实现,这就是 main 代码将在该构建中使用的实现。

关于安卓 flavor :Applying only flavor specific code to a source set,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57294689/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com